VideoView 在 Fragment 中播放 .m3u8 不会在 Nexus 7 中播放。在 HTC1 M8 中播放正常
Posted
技术标签:
【中文标题】VideoView 在 Fragment 中播放 .m3u8 不会在 Nexus 7 中播放。在 HTC1 M8 中播放正常【英文标题】:VideoView playing .m3u8 in Fragment won't play in Nexus 7. Plays fine in HTC1 M8 【发布时间】:2015-02-19 16:31:56 【问题描述】:当我在 Nexus 7 (android 4.4.2) 中运行我的 .m3u8 类型的视频时,我的 VideoView 片段无法播放,并弹出“无法播放此视频”错误。这很令人困惑,因为我在我的 HTC1 M8 (4.4.4) 上使用了相同的代码并且它运行得很好。
这是我的片段代码:
public class VideoFragment extends Fragment
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState)
super.onCreate(savedInstanceState);
View view=inflater.inflate(R.layout.video_fragment, container, false);
VideoView vidView = (VideoView)view.findViewById(R.id.myVideo);
String vidAddress1 = "http://www.nasa.gov/multimedia/nasatv/NTV-Public-IPS.m3u8";
Uri vidUri = Uri.parse(vidAddress1);
vidView.setVideoURI(vidUri);
MediaController vidControl = new MediaController(getActivity()); /* Video controls */
vidControl.setAnchorView(vidView);
vidView.setMediaController(vidControl);
vidView.start();
return view;
为了清楚起见,片段本身显示得很好,只是视频没有播放。
这在 Nexus 7 上不起作用有什么原因吗?
感谢您的帮助,非常感谢。
编辑:添加视频类型
编辑 2:为了确保它不是视频本身,我用我的代码测试了此处列出的每个视频:https://***.com/questions/10104301/hls-streaming-video-url-need-for-testing/13265943#13265943
每个都有同样的问题,它在我的 HTC1 M8 上播放,但在我的 Nexus 7 上没有。
【问题讨论】:
【参考方案1】:所以我将 Nexus 更新到 Android 4.4.3 并下载了新的升级到 Android Studio。现在我的代码运行得很好。
经验教训:确保设备是最新的。
【讨论】:
以上是关于VideoView 在 Fragment 中播放 .m3u8 不会在 Nexus 7 中播放。在 HTC1 M8 中播放正常的主要内容,如果未能解决你的问题,请参考以下文章