Search Issue Tracker
Fixed in 2019.1.X
Fixed in 2018.2.X, 2018.3.X
[iOS] VideoPlayer player is paused when unplugging headphones
While using VideoPlayer API to play a video with no audio and no playback controls on it, the video is paused when removing headset/earphones. That behavior is ok for a video that has audio and controls, but in some other use cases where it's a background loop video, it doesn't look good. What's also bad is that the video player still reports its state as playing (VideoPlayer.isPlaying reports true), and resuming the video requires first a call to VideoPlayer.Pause() and then VideoPlayer.Play(). This makes it difficult for the application to work around the issue.
1. Download attached project "VideoBug.zip" and open in Unity
2. Open "SampleScene" scene
3. Build for iOS
4. Deploy the Xcode project to the iOS device which has headphones plugged in
5. Observe that the Video is playing by default
6. While the Video is playing, remove the headphones from a device
Expected result: If the Video is paused/stopped, "videoPlayer.isPlaying" becomes "false"
Actual result: If the Video is paused/stopped, "videoPlayer.isPlaying" still stays "true"
- This issue appears only on iOS
- On Android, this issue does not reproduce
- iPhone 6s Plus iOS 10.3.2
Reproduced on Unity 2018.2.0a8, 2018.2.11f1, 2018.3.0b4 and 2019.1.0a3
Not reproduced on Unity 2018.1.9f2 and 2018.2.0a7
Regression on Unity 2018.2.0a8
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
- DrawMeshInstancedProcedural is using only baked Reflection Probes Cubemaps when Forward Rendering Path is used
- Setting the Camera.targetTexture through a script will cause the depth buffer to start clearing between camera renders
- [iOS] Mute Other Audio Sources is not muting background audio on a device when toggled on
- [WebGL] Not all ResponseHeaders are returned when using UnityWebRequest
- Local keywords can be overridden by global keyword state