尝试从原始文件夹播放视频(VideoView)

时间:2010-08-31 12:54:30

标签: android

我可以通过插入以下网址来播放互联网视频:

mPath   = Uri.parse("http://commonsware.com/misc/test2.3gp");
mVid.setVideoURI(mPath);
mVid.requestFocus();
mVid.start();

但是现在我的原始文件夹中有一个视频,所以路径是res / raw / testing.3gp。下面的代码不起作用,我也试过其他一些方法也无济于事。

mPath   = Uri.parse("../../res/raw/testing.3gp");

有什么建议吗?

4 个答案:

答案 0 :(得分:31)

我遇到了同样的问题。 这对我有用:

Uri video = Uri.parse("android.resource://com.pac.myapp/raw/master");

因此,当你看到你有3个部分的uri:1)“android.resource://”2)“com.pac.myapp”3)“/ raw / master”

“master”是视频的名称

答案 1 :(得分:5)

这对我有用

 String videoName = nameWithoutFileExtention;

 int id = getResources().getIdentifier(videoName, "raw", getActivity().getPackageName());

 final String path = "android.resource://" + getActivity().getPackageName() + "/" + id;

 vvBgVideo.setVideoURI(Uri.parse(path));

答案 2 :(得分:0)

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button btn=(Button)this.findViewById(R.id.playvideo);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                VideoView vid=(VideoView)findViewById(R.id.video);
                vid.setMediaController(new MediaController(MainActivity.this));
                Uri video = Uri.parse("android.resource://com.example.tenzinthinley.video/raw/ed");
                vid.setVideoURI(video);
                vid.requestFocus();
                vid.start();
            }
        });
    }
}

如果这不起作用,请更改我的名字。 ' ED'是视频文件名。

答案 3 :(得分:-1)

您只需要在资源文件夹下的原始文件夹中找到歌曲。 如果它是链接那么

 private String urlVideo ="http://www.pocketjourney.com/downloads/pj/video/famous.3gp";

    //Make uri from song located in raw folder
        Uri uri = Uri.parse("android.resource://" + getPackageName() + "/"
                + R.raw.shakebooty);
        player.setUpVideoFrom(uri.toString());

        public void setUpVideoFrom(String source) throws IllegalArgumentException,
                IllegalStateException, IOException {

            mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);

//Only to check if you want to play song from url
            if (source.contains("http"))
            {
            mPlayer.setDataSource(source);
            }
//If want to play song from uri you created from song in raw folder
        else {
             mPlayer.setDataSource(ctx, source);
             }

        }

喜欢在表面视图中播放视频