尝试从原始文件夹(VideoView)播放视频
Posted
技术标签:
【中文标题】尝试从原始文件夹(VideoView)播放视频【英文标题】:Trying to play video from raw folder (VideoView) 【发布时间】:2010-08-31 12:54:30 【问题描述】:我可以通过插入如下 URL 来播放来自 Internet 的视频:
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");
有什么建议吗?
【问题讨论】:
好的...我找到了我之前使用不同视频的代码,但现在无法正常工作。 mPath = Uri.parse("android:resource://com.example.wordweather/" + R.raw.scott); How to play videos in android from assets folder or raw folder?的可能重复 【参考方案1】:我遇到了同样的问题。 这对我有用:
Uri video = Uri.parse("android.resource://com.pac.myapp/raw/master");
如您所见,您有 3 个部分的 uri:1)“android.resource://”2)“com.pac.myapp”3)“/raw/master”
“master”是您的视频名称
【讨论】:
我希望我能将此标记为正确答案。这对我帮助很大!!谢谢。 这对我不起作用.. 我得到了可怕的“此视频无法播放错误”。然而起作用的是 Uri url = Uri.parse("android.resource://com.calvium.myApp/" + R.raw.video); (我的视频资源被称为“video.3gp”。 这个解决方案对我有用。但是,我怀疑它是否可以在任何其他操作系统版本/设备上运行 - 即有很多人报告说“R.raw.*”版本正在运行。谁能详细说明一下 VideoView 有什么期望? 有关此主题的更多信息。 javatech.org/2011/01/…【参考方案2】:这对我有用
String videoName = nameWithoutFileExtention;
int id = getResources().getIdentifier(videoName, "raw", getActivity().getPackageName());
final String path = "android.resource://" + getActivity().getPackageName() + "/" + id;
vvBgVideo.setVideoURI(Uri.parse(path));
【讨论】:
【参考方案3】: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' 是视频文件名。
【讨论】:
【参考方案4】:您只需要在资源文件夹下的原始文件夹中找到歌曲。 如果是链接,那么
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);
享受在表面视图中播放视频的乐趣
【讨论】:
以上是关于尝试从原始文件夹(VideoView)播放视频的主要内容,如果未能解决你的问题,请参考以下文章
如何从资产文件夹加载视频? (用 VideoView 播放它们)