在Fragment中播放.m3u8的VideoView在Nexus 7中无法播放。在HTC1 M8中播放得很好

时间:2015-02-19 16:31:57

标签: android android-fragments android-videoview

当我在Nexus 7(Android 4.4.2)中运行时,我的VideoView片段无法播放我的.m3u8类型视频,并且弹出“无法播放此视频”错误。这是令人困惑的,因为我在我的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://stackoverflow.com/questions/10104301/hls-streaming-video-url-need-for-testing/13265943#13265943

每个人都有同样的问题,它在我的HTC1 M8上播放但在我的Nexus 7上播放。

1 个答案:

答案 0 :(得分:0)

因此,我将Nexus更新为Android 4.4.3并下载了新的Android Studio升级版。现在我的代码运行得很好。

获得的经验教训:确保设备是最新的。