VideoView在Android应用程序

问题描述:

方案VideoView在Android应用程序

我有一个Android应用程序,它利用一个主/细节布局不玩。 因此,当我点击左侧面板中的“视频”时,它将导航到一个新的面板,其中下载视频名称和链接。然后选择标题,左侧面板隐藏并开始播放视频。

问题

我已经使用videoview,奇怪的是,我不能让视频播放。我真的没有得到一个错误,但屏幕仍然是黑色的,我相信我听到从视频的前几秒,然后我上传的图像,没有图像的声音。

见代码

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 

    view = inflater.inflate(R.layout.fragment_drone_life3, null); 
    vidView=(VideoView)view.findViewById(R.id.ivEvent); 
    context=this.getActivity(); 
    return view; 
} 
public void onItemClick(AdapterView<?> adapterView, View view, 
            int position, long id) { 
       if (new ConnectionDetector(context).isConnectingToInternet()) { 
//get VidLink variable of item in this location and place in the var videoLink 
        videoLink = eventsDTOs.get(position).getVidLink(); 

        try { 

         MediaController mediaController = new MediaController(getContext()); 
         mediaController.setAnchorView(vidView); 
         Uri video = Uri.parse(videoLink); 
         vidView.setMediaController(mediaController); 
         vidView.setVideoURI(video); 
         vidView.start(); 
         MainActivity.closeSlidingDrawer(); 
        } catch (Exception e) { 
         // TODO: handle exception 
         Toast.makeText(getContext(), "Error connecting", Toast.LENGTH_SHORT).show(); 
        } 


        // new TaskGetEventImage().execute(eventsDTOs.get(position).getId()); 
       } else { 
        Toast.makeText(context, context.getResources().getString(R.string.NETWORK_ERROR),Toast.LENGTH_LONG).show(); 
       } 
      } 

enter image description here

对于从URL

VideoView videoView=(VideoView) findViewById(R.id.myVideo); 
    videoView.setVideoURI(Uri.parse("http://website.com/somevideoname.mp4")); 
    videoView.setMediaController(new MediaController(this)); 
    videoView.requestFocus(); 
    videoView.start(); 

播放视频对于从SD卡或内部存储播放视频

MediaController vidControl; 
    String sdPath; 

    VideoView videoView=(VideoView) findViewById(R.id.myVideo); 
    vidControl = new MediaController(this); 
    vidControl.setAnchorView(videoView); 
    videoView.setMediaController(vidControl); 
    videoView.setVideoPath(sdPath); 
    videoView.requestFocus(); 
    videoView.start(); 

I W生病建议尝试使用上述解决方案播放视频。

+0

抱歉不是解决方案,只是复制并粘贴 – Niana

+0

检查编辑的解决方案,此解决方案无法在模拟器上工作。你应该使用真正的手机。我希望它会起作用 –

解决了这个,很明显,错误是我的服务器正在执行一些手机无法处理的编码。