[英]How to play a video (.mp4) from assets or raw folder with the video intent?
如何使用視頻意圖從資產或原始文件夾中播放mp4視頻?
無論我嘗試什么,我總會得到:
06-25 14:32:14.070: E/AndroidRuntime(3070): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=android.resource://mypackage/raw/myvideo }
我嘗試過:
Intent tostart = new Intent(Intent.ACTION_VIEW);
String movieUrl = "file:///android_asset/myvideo.mp4";
// String movieUrl = "android.resource://" + getPackageName() + "/raw/" + "myvideo.mp4";
tostart.setDataAndType(Uri.parse(movieUrl), "video/*");
startActivity(tostart);
我只能在人們使用SD卡中的視頻的地方找到答案,有什么選擇可以使用raw或Assets文件夾嗎?
AssetFileDescriptor afd;
try {
afd = getAssets().openFd("videofile/video.3gp");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
這里video.3gp是文件夾下的文件--- videofile- >是資產文件夾下的一個文件夾
您可以使用Mediaplayer設置這種方式
mediaPlayer = new MediaPlayer();
if(mediaPlayer.isPlaying()){
mediaPlayer.reset();
}
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDisplay(surfaceHolder);
try {
mediaPlayer.setDataSource(afd.getFileDescriptor(), afd
.getStartOffset(), afd.getLength());
mediaPlayer.prepare();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mediaPlayer.start();
您可以使用以下方法從原始文件夾解析視頻網址:
Uri.parse("android.resource://com.testvideo/" + R.raw.video);
然后嘗試:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.