How can I pause the outgoing video, so that the person who receive it to stop seeing it until I will remove the pause option?
Same question related to audio call. How to make something like mute mic, so that the received audio is stop until I un-mute the mic?
Coming in next beta release, not doable now
Related
How to mute the video using sinch SDK anyone knows please help.
After connecting the call I can't mute it.
You can mute/unmute the recipients <video> element
<video class="remotevideo" id="incoming" autoplay muted></video>
Like this:
document.getElementById("incoming").muted=false;
Muting your own microphone is more complicated issue.
One possible solution is to use Sinch internal instant messaging feature and send a special message to the other end. So instead of muting local microphone you tell the other end to mute remote video.
I am using video toolbox in iOS8 to play an h264 stream along with a PCM audio stream. Video is displayed fine as long as I dont start the audio stream. As soon as I call AudioQueueStart, all enqueueSampleBuffer calls stop displaying video and prints the error "Ignoring enqueueSampleBuffer: because status is "failed"".
There are no errors returned from CMBlockBuffer calls. enqueueSampleBuffer doesnt return anything and hence I cant write a code to recreate video layer again on this error.
This only happens on iOS device and not on simulator. Audio and video plays perfectly fine on Simulator. I run Audio and Video on separate threads such that one doesnt block the other. Has anyone faced the same issue?
The problem was happening because I had the mute switch on iphone turned ON.
I used AVAudioSessionCategoryPlayback for my audio session to overcome this.
This problem is resolved.
I'm using BackgroundAudioPlayer for my Windows Phone 7 music & video application. After I play some music, I play video using MediaPlayerLauncher, then press Back to return to my app. There whenever I use BackgroundAudioPlayer.Instance. I receive error "The background audio resources are no longer available".
Someone on MSDN suggests using try/catch, but this is not a good idea, and can slow down the app.
Other suggests call BackgroundAudioPlayer.Instance.Close() before launch MediaPlayer. However, when I play music, the agent load .dll again, which takes very much time.
How to fix this ?
If you play a video after your audio the OS will definitely "terminate" your Background Audio Player. From your question it seems this is reproducible 100% of the time which would confirm this. Your only option is to restart the background audio player again after you have called BackgroundAudioPlayer.Instance.Close(), and then played your video. Which as you said will require reloading your player DLL when you start the BAP.
Update following up from comments
If you aren't implementing a streaming audio agent but only an AudioPlayer agent there isn't a process for you to kill anyway. The OS spins up a process as and when it needs to get you to process an action (e.g.: user action, track ended, shutdown).
BackgroundAudioPlayer.Instance.Close() just makes sure that the OS releases those resources cleanly in a scenario such as the OP has.
To restart background audio, just call BackgroundAudioPlayer.Instance.Play() again.
I'm implementing a game for WP7, and I need that a mp3 file plays in background, while I navigate through some screens. How can I do this? Thanks in advance.
Use background Audio agent for this purpose to play , even when user navigate between pages.
Also you can achieve the continuous playback by 2 ways
1. set the repeat option to play continuously
or
2. start play back again upon receiving the stop message, this can be achieved by putting code for starting playback again in Application Background player state handler upon receiving "PlayState.Stopped" message.
Please refer this link "How to: Play Background Audio for Windows Phone" for more details.
Hm.. what about global MediaPLayer instance?
See this link
what I want to achieve is this:
Play background music from the media library
On a certain trigger, fade out the music, play another mp3 file (of various lengths, seconds up to a minute)
After that piece of audio is played, resume previous music from the library
Now I run into these constraints:
In order to access and play music from the user's library, I need to use the MediaPlayer XNA class.
In order to play an arbitrary mp3 file, I need to use either MediaPlayer or MediaElement, but not SoundEffect or SoundEffectInstance
If I play anything using the MediaElement, MediaPlayer stops. It completely loses the audio queue so I would need to play the remaining music which would be ok BUT
MediaPlayer doesn't support seek so I cannot open the previous song and just go the the position before it got paused
So:
I don't want to use SoundEffect or SoundEffectInstance as the audio would have to be wav files.
I can't use just MediaPlayer because if I played the audio there to interrupt the song I wouldn't be able to seek to its previous position
I can't use the combination of MediaPlayer and MediaElement as MediaPlayer stops the MediaPlayer which again prevents me from resuming previous playback
I can't just use MediaElement because it can't play songs from the library
Do you see anything I missed or is really the only option I have to suck it up and use wav files? (There would be many of these downloaded on the fly and it is just plainly inefficient this way!) Any suggestions?
Thanks!
Unfortunately you've hit a limitation of the platform.
In addition to the alternative you've identified you could play the music streamed from an external source through a MediaElement. By using a timer to keep track of how much has played, when resuming the track start that far through the track by including the start point in your request to the streaming server. This does of course mean you need to provide or find a suitable streaming capability. :(
Neither of these are ideal but for now that's the best we have. The background audio facilites coming in Mango may help but until details are announced we can't say for sure.
can't use just MediaPlayer because if I played the audio there to interrupt the song I wouldn't be able to seek to its previous position
You will get mediastatechanged event using MediaPlayer and inthat event you could check the state of the mediaplayer and Pause the Song and then you could also Resume the song