2013-03-02 36 views
0

我有問題,正確地聲明視頻文件的路徑。 我已經看過很多不同的資源,他們都表示幾乎是這同樣的事情...錯誤定義存儲在Sd卡上的視頻文件的路徑

import android.app.Activity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.widget.MediaController; 
import android.widget.VideoView; 

public class MainActivity extends Activity { 

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

    VideoView infinnittiVid = (VideoView)findViewById(R.id.videoView1); 
    infinnittiVid.setVideoPath("/SdCard/infinnitti.mp4"); 

    MediaController infinnittiController = new MediaController(this); 
    infinnittiVid.setMediaController(infinnittiController); 
} 


@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 
} 

不管我做什麼,我得到的設備上「無法播放此視頻的錯誤「 我知道我不應該硬編碼字符串... 這個問題似乎與地址。我嘗試過多種格式,他們在圖庫應用程序中播放,但是這段代碼從來不工作。我弄亂了路徑,以確認我懷疑這是問題,並且我總是得到相同的錯誤,並且沒有對該路徑進行邏輯改變會給我一個工作的VideoView。

誰能告訴我我要去哪裏錯?

回答

0

這就是問題所在

infinnittiVid.setVideoPath( 「/ SD卡/ infinnitti.mp4」);

它應該是這樣的

String path= Environment.getExternalStorageDirectory().getAbsolutePath(); 
    path=path+"/infinnitti.mp4"; 

Uri mUri = Uri.fromFile(new File(path)); 
infinnittiVid.setVideoURI(mUri); 
+0

我認爲解決辦法像她那樣因爲Eclipse一直在問我o使用: 'Environment.getExternalStorageDirectory()。toString();' 但我不確定如何聲明它。 雖然在三星平板電腦上,但我仍然遇到與此代碼相同的錯誤。 我在logcat中得到這個錯誤 E/MediaPlayer的(8868):錯誤(1,-2147483648) – 2013-03-02 13:16:26

+0

是啊,現在我把它設置這樣的: 'VideoView infinnittiVid =(VideoView)findViewById(R.id .videoView1); String path = Environment.getExternalStorageDirectory()。getAbsolutePath(); path = path +「/ infinnitti.mp4」; Uri mUri = Uri.fromFile(new File(path)); infinnittiVid.setVideoURI(mUri); MediaController infinnittiController = new MediaController(this); infinnittiVid.setMediaController(infinnittiController); } ' 但我得到設備錯誤相同的「無法播放此視頻」 它是如此固執! – 2013-03-03 11:21:05

+0

我認爲這是一種不兼容的格式,如果我沒有看到它在本地畫廊播放。我看過很多不同的播放視頻的方法,但我找不到任何可行的方法。 – 2013-03-03 11:24:58

0

他們的兩種方法

首先

String path= Environment.getExternalStorageDirectory().getPath(); 
infinnittiVid.setVideoPath(path+"/infinnitti.mp4"); 

VideoView infinnittiVid = (VideoView)findViewById(R.id.videoView1); 
infinnittiVid.setVideoPath("/mnt/sdcard/infinnitti.mp4"); 
+0

是啊,同樣的東西... 這兩個看起來像他們應該工作,但我總是在設備上得到相同的錯誤。 我假設這是該設備無法解碼的視頻,如果我沒有看到它在圖庫應用程序上播放。 – 2013-03-02 13:40:06

相關問題