我正在将应用程序升级到 android 6.0。一切似乎都很好,除了尝试从远程源播放某些视频时除外。它们在我们的非 Marshmallow 设备上播放得很好(具体来说,我有一台运行 4.1.2 Jelly Bean 的 Galaxy S3,它可以很好地播放完全相同的视频,没有任何问题)。我们在 6.0 上使用多个设备进行了测试,问题似乎仅限于此操作系统。
当尝试在简单视频视图中播放视频时,我收到一条警告,提示“无法播放此视频”。
过去我在 4.1.2 上播放其他视频时遇到了一些问题,我认为这可能是编解码器问题,我再次认为这可能是罪魁祸首。无法播放的视频都有以下共同点:
- AAC
- H.264
- MPEG-4 SDSM
- MPEG-4 ODSM
当我尝试使用视频视图启动活动时,这就是 logcat 吐出的内容。
201-801/? D/audio_hw_primary﹕ out_set_parameters: enter: usecase(1: low-latency-playback) kvpairs: routing=2
201-800/? D/audio_hw_primary﹕ select_devices: out_snd_device(2: speaker) in_snd_device(0: none)
201-800/? D/msm8974_platform﹕ platform_send_audio_calibration: sending audio calibration for snd_device(2) acdb_id(15)
201-800/? D/audio_hw_primary﹕ enable_snd_device: snd_device(2: speaker)
201-800/? D/audio_hw_primary﹕ enable_audio_route: apply and update mixer path: low-latency-playback
777-1257/? I/MediaFocusControl﹕ AudioFocus requestAudioFocus() from android.media.AudioManager@f9138b2 req=1flags=0x0
4591-4591/? W/MediaPlayer﹕ Couldn't open file on client side; trying server side: java.io.FileNotFoundException: No content provider: http://videopath.mp4
201-5605/? D/NuPlayer﹕ onSetVideoSurface(0xb48c2700, no video decoder)
777-811/? I/ActivityManager﹕ Displayed com.example.i.PityTheFooActivity: +108ms
1139-1139/? I/Keyboard.Facilitator﹕ onFinishInput()
201-5606/? E/GenericSource﹕ Failed to init from data source!
201-5605/? D/NuPlayerDriver﹕ notifyListener_l(0xb60986a0), (100, 1, -2147483648)
4591-4605/? E/MediaPlayer﹕ error (1, -2147483648)
4591-4591/? E/MediaPlayer﹕ Error (1,-2147483648)
4591-4591/? D/VideoView﹕ Error: 1,-2147483648
这是 Marshmallow 的已知问题,还是视频可能有问题?
使用 ODSM / SDSM 编解码器的视频可以绕过去隔行,但 Android Marshmallow 似乎无法识别 ODSM / SDSM 编解码器,并且需要对视频进行去隔行。以前的操作系统版本不会播放未正常去隔行的视频,但包含 ODSM 或 SDSM 编解码器的视频文件除外。
我相信这是由于 Quicktime 支持问题,并且可能需要作为 Android Marshmallow 的缺陷打开,但也可能是 Google 有意为之。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)