2013-04-30 43 views
0

我有一个很奇怪的问题。我正在使用蒸汽视频,并在应用中播放,但问题在于音频可以工作,但视频无法正常工作。它显示黑屏(请参阅图像以供参考。)我不知道问题是什么。音频工作正常,但视频显示黑屏。VideoView Streaming:Audio works,but video is black

任何想法可以是什么问题?

这里是我的代码以供参考:

public class Video_Low_Mission extends Activity { 
    // Put in your Video URL here 
    private String VideoURL = "rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov"; 
    // Declare some variables 
    private ProgressDialog pDialog; 
    VideoView videoview; 



@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    // Set the layout from video_main.xml 
    setContentView(R.layout.activity_video__low__mission); 
    // Find your VideoView in your video_main.xml layout 
    videoview = (VideoView) findViewById(R.id.VideoView); 
    // Execute StreamVideo AsyncTask 
    new StreamVideo().execute(); 

} 


// StreamVideo AsyncTask 
private class StreamVideo extends AsyncTask<Void, Void, Void> { 
    @Override 
    protected void onPreExecute() { 
     super.onPreExecute(); 
     // Create a progressbar 
     pDialog = new ProgressDialog(Video_Low_Mission.this); 
     // Set progressbar title 
     pDialog.setTitle("Mission TV (Low Quality)"); 
     // Set progressbar message 
     pDialog.setMessage("Buffering..."); 
     pDialog.setIndeterminate(false); 
     // Show progressbar 
     pDialog.show(); 

    } 

    @Override 
    protected Void doInBackground(Void... params) { 
     // TODO Auto-generated method stub 
     return null; 
    } 

    @Override 
    protected void onPostExecute(Void args) { 

     try { 
      // Start the MediaController 
      MediaController mediacontroller = new MediaController(
        Video_Low_Mission.this); 
      mediacontroller.setAnchorView(videoview); 
      // Get the URL from String VideoURL 
      Uri video = Uri.parse(VideoURL); 
      videoview.setMediaController(mediacontroller); 
      videoview.setVideoURI(video); 

      videoview.requestFocus(); 
      videoview.setOnPreparedListener(new OnPreparedListener() { 
       // Close the progress bar and play the video 
       public void onPrepared(MediaPlayer mp) { 
        pDialog.dismiss(); 
        videoview.start(); 
       } 
      }); 
     } catch (Exception e) { 
      pDialog.dismiss(); 

      // Error Here 

      Log.e("Error", e.getMessage()); 
      e.printStackTrace(); 
     } 

    } 

} 

// Not using options menu for this tutorial 
@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.video__low__mission, menu); 
    return true; 
} 

XML:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <VideoView 
     android:id="@+id/VideoView" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_centerHorizontal="true" 
     android:layout_centerVertical="true" /> 

</RelativeLayout> 

谢谢:)不支持对Android

回答

0

的MOV文件播放。 mov是一种苹果格式,在android中没有默认的视频编解码器来播放它们。 Reference

+0

谢谢。我想这是我的问题。将流转换为文档格式。 :) – 2013-04-30 11:53:33

0

你可以试试vitamio框架,它支持.mov格式。请检查此decription

+0

谢谢,但我该如何安装它?对不起,我是新来的Eclipse和Android开发:) – 2013-04-30 11:54:17

0

我用下面的代码解决了这个问题,我希望它适合你。

videoView.setBackgroundColor(Color.TRANSPARENT); 
相关问题