android播放来自res / raw的视频

时间:2012-07-12 12:24:16

标签: android video android-videoview playback

我想在res中播放来自res / raw的视频,这是我的代码:

public class CreditsActivity extends Activity{

    @Override
     protected void onCreate(Bundle savedInstanceState){
            super.onCreate(savedInstanceState);
            setContentView(R.layout.creditslayout);
            VideoView v = (VideoView) findViewById(R.id.video);
            v.setVideoURI(Uri.parse("android.resource://test.test.test/raw/maincredits"));
            v.start();
    }
}

但我只听到视频的声音。并且模拟器不显示视频本身,文件大小为2.8 MB。

6 个答案:

答案 0 :(得分:2)

请试一试。

Uri uri = Uri.parse("android.resource://test.test.test/"+R.raw.[video_resid]);    
v.setVideoURI(uri);

答案 1 :(得分:2)

尝试以下代码:

public class CreditsActivity extends Activity{

        @Override
         protected void onCreate(Bundle savedInstanceState){
                super.onCreate(savedInstanceState);
                setContentView(R.layout.creditslayout);
                VideoView v = (VideoView) findViewById(R.id.video);
                v.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.video_file));
                v.start();

    }


}

答案 2 :(得分:1)

尝试Uri.parse("android.resource://test.test.test/" + R.raw.yourVideoName)

答案 3 :(得分:1)

试试这个

       // trailer_final is the video name

      String fileName = "android.resource://"+ getPackageName()+"/raw/trailer_final";

      VideoView mvideo = (VideoView) findViewById(R.id.playVideo);

      mvideo.setVideoPath(fileName);

      MediaController controller = new MediaController(this);

      mvideo.setMediaController(controller);

      mvideo.requestFocus();

      mvideo.start();

答案 4 :(得分:0)

试试这个:

VideoView view = (VideoView)findViewById(R.id.videoView);
String path = "android.resource://" + getPackageName() + "/" + R.raw.video_file;
view.setVideoURI(Uri.parse(path));
view.start();

只需传递驻留在项目res下的原始文件夹中的视频名称。

答案 5 :(得分:0)

模拟器不显示视频。我在一个项目上遇到了这个问题。我们在一个实际的设备上尝试过,它玩得很完美。尝试在实际设备上播放它。它可能会奏效。