我正在将应用升级到Android 6.0。除了尝试播放来自远程源的某些视频外,一切似乎都没问题。它们在我们的非Marshmallow设备上播放得很好(具体来说,我在4.1.2 Jelly Bean上有一个Galaxy S3,可以播放完全相同的视频,没问题)。我们已经在6.0上使用多个设备进行了测试,问题似乎仅限于此操作系统。
当尝试在简单的视频观看中播放视频时,我会收到一条警告说“#34;无法播放此视频"。
我过去在4.1.2上的其他视频遇到了一些问题,并认为这可能是编解码器问题,我认为这可能是罪魁祸首。没有玩过的视频都有这些共同点:
当我尝试使用videoview启动活动时,这就是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的一个已知问题,或者视频可能出现问题?
答案 0 :(得分:4)
使用ODSM / SDSM编解码器的视频可以绕过去隔行扫描,但看起来Android Marshmallow无法识别ODSM / SDSM编解码器,并且需要对视频进行逐行扫描。以前的操作系统版本不会播放没有正常解除隔行扫描的视频,但视频文件除外,包括ODSM或SDSM编解码器。
我认为这是由于Quicktime支持问题造成的,可能需要将其作为Android Marshmallow的缺陷打开,但Google也可能会这样做。