2015-10-05 33 views
0

我一直在修改示例視頻播放器代碼;示例代碼從節目資源目錄播放視頻。我將視頻複製到手機的/ storage/emulated/0/DCIM /目錄並添加三行:從android手機存儲在videoView中打開視頻的代碼

String videoName1 = Environment.getExternalStorageDirectory()。getPath()+「/ DCIM/steprock」;

Uri videoUri = Uri.parse(videoName1);

videoView.setVideoURI(videoUri);

取代:

videoView.setVideoURI(Uri.parse( 「android.resource://」 + getPackageName()+ 「/」 + R.raw.steprock));

此更改導致找不到文件錯誤。該視頻位於手機存儲DCIM目錄中。我也嘗試將.mp4添加到視頻名稱。

在調試模式下的URI似乎是正確的值:/存儲/模擬/ 0/DCIM/steprock

誰能當場碼錯誤?部分列表如下:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    final VideoView videoView = (VideoView) findViewById(R.id.video_view); 
    String videoName1 = Environment.getExternalStorageDirectory().getPath()+"/DCIM/steprock"; 
    Uri videoUri = Uri.parse(videoName1); 
    videoView.setVideoURI(videoUri); 
    //videoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.steprock)); 

回答

1

我發現錯誤,忘記添加下面的讀取權限清單:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission> 
<application ... 
0

這是從視頻中描述視頻的路徑播放視頻的代碼。

// Video path. 
path = Environment.getExternalStorageDirectory().getPath()+"/DCIM/steprock.mp4"; 
videoView = (VideoView) findViewById(R.id.video_view); 
final MediaController mediaController = new MediaController(this); 

mediaController.setAnchorView(videoView); 

Uri uri = Uri.parse(path); 

videoView.setMediaController(mediaController); 
videoView.setVideoURI(uri); 
videoView.requestFocus(); 
videoView.start();