【问题标题】:Android Video View inside a framgent?片段内的Android视频视图?
【发布时间】:2015-11-22 12:09:39
【问题描述】:

您好,我在播放来自 url 的视频时遇到问题。我正在使用片段,每当我运行我的代码时,我都会收到此错误:

错误:(32, 34) 错误: 没有找到适合 MediaController(MainFragment) 的构造函数 构造函数 MediaController.MediaController(Context) 不适用 (实参MainFragment无法通过方法调用转换为Context) 构造函数 MediaController.MediaController(Context,boolean) 不适用 (实际参数列表和形式参数列表的长度不同) 构造函数 MediaController.MediaController(Context,AttributeSet) 不适用 (实际参数列表和形式参数列表的长度不同)

这是我的代码:

public class MainFragment extends Fragment {

private static final String Video_url = "https://dl.dropboxusercontent.com/u/102136471/20151113_223245.mp4";
public MainFragment() {
    // Required empty public constructor
}


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
   VideoView view = (VideoView) getView().findViewById(R.id.videoView);
    Uri video = Uri.parse(Video_url);

    view.setMediaController( new MediaController(this));
    view.setVideoURI(video);
    view.start();
    view.requestFocus();
    return inflater.inflate(R.layout.fragment_main, container, false);

}

我不确定这是否是在片段内打开视频视图的正确方法?

【问题讨论】:

    标签: android android-fragments


    【解决方案1】:

    view.setMediaController(new MediaController(getActivity()));
    

    使用getActivity()访问Fragment中的context

    更正:

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View v=inflater.inflate(R.layout.fragment_main, container, false);
    
    // Inflate the layout for this fragment
    VideoView view = (VideoView) v.findViewById(R.id.videoView);
    Uri video = Uri.parse(Video_url);
    
    view.setMediaController(new MediaController(getActivity()));
    view.setVideoURI(video);
    view.start();
    view.requestFocus();
    
    return v;
    
     }
    

    【讨论】:

    • 我收到以下错误:原因:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法 'android.view.View android.view.View.findViewById(int)'在animenetworks.animenetworks.MainFragment.onCreateView(MainFragment.java:29)
    • 啊,谢谢 MD,但现在它说“无法播放此视频”。这是变量装饰。私有静态最终字符串 Video_url = "dl.dropboxusercontent.com/u/102136471/20151113_223245.mp4";
    • @EdgarAxe 检查您的视频。你的问题现在已经解决了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-22
    • 1970-01-01
    • 2021-08-29
    • 1970-01-01
    • 1970-01-01
    • 2016-09-07
    相关资源
    最近更新 更多