我发现在Android 4.0.3上播放Acer a500的视频文件存在问题。
我的应用程序将mp4文件保存到/data/data/com.myapp.app/videos/下的内部存储中,然后在某些时候它必须播放该文件并且一旦我这样做:
ContextWrapper cw = new ContextWrapper(getApplicationContext());
File directory = cw.getDir("videos", Context.MODE_PRIVATE);
File savedFile = new File(directory, videoFileName);
if (savedFile.exists()) {
Uri uri = Uri.parse(String.valueOf(savedFile.toURI()));
myVideoView.setVideoURI(uri);
屏幕上的对话框显示“抱歉,无法播放此视频”。
日志文件显示以下内容:
06-10 17:18:37.666 85-1331/? D/AwesomePlayer﹕ Failed to open file, all profile flags have to set through setprop method.
06-10 17:18:37.666 85-1331/? I/AwesomePlayer﹕ setDataSource_l('/data/data/com.myapp.app/videos/short.mp4')
06-10 17:18:37.676 1394-1457/? E/MediaPlayer﹕ error (1, -2147483648)
06-10 17:18:37.726 1394-1394/? E/MediaPlayer﹕ Error (1,-2147483648)
当我保存我的videoFile时,它设置Context.MODE_PRIVATE
不确定是否重要。
我在大多数播放视频的设备上都没有看到任何问题,但是这会导致错误。
关于什么可能遗漏的任何想法? 此外,如果我选择通过网络流播放视频,它可以正常工作。