我有問題,正確地聲明視頻文件的路徑。 我已經看過很多不同的資源,他們都表示幾乎是這同樣的事情...錯誤定義存儲在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。
誰能告訴我我要去哪裏錯?
我認爲解決辦法像她那樣因爲Eclipse一直在問我o使用: 'Environment.getExternalStorageDirectory()。toString();' 但我不確定如何聲明它。 雖然在三星平板電腦上,但我仍然遇到與此代碼相同的錯誤。 我在logcat中得到這個錯誤 E/MediaPlayer的(8868):錯誤(1,-2147483648) – 2013-03-02 13:16:26
是啊,現在我把它設置這樣的: '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
我認爲這是一種不兼容的格式,如果我沒有看到它在本地畫廊播放。我看過很多不同的播放視頻的方法,但我找不到任何可行的方法。 – 2013-03-03 11:24:58