我正在使用Android(使用Eclipse和SDK)尝试将视频流式传输到VideoView。有时视频有效,但有时我会收到视频无法显示的错误。这是代码:
//video
private Uri mPath;
private VideoView mVid;
mPath = Uri.parse("android.resource://com.accuweather.wordweather/" + R.raw.b2);
mVid.setVideoURI(mPath);
mVid.requestFocus();
mVid.start();
另一个用户在滚动屏幕时加载不同视频的课程。
public void onScrollViewSnap(int page) {
//change video
Log.d(DEB_TAG, "In 'onPageCountChange: '." + page);
//video
if(page != mOnPage){
if(page == 0){
mPath = Uri.parse("http://www.ted.com/talks/download/video/8584/talk/761");
//mPath = Uri.parse("android.resource://com.accuweather.wordweather/" + R.raw.w2);
}else if(page == 1){
mPath = Uri.parse("android.resource://com.accuweather.wordweather/" + R.raw.b1);
}else if(page == 2){
mPath = Uri.parse("http://commonsware.com/misc/test2.3gp");
//mPath = Uri.parse("android.resource://com.accuweather.wordweather/" + R.raw.test2);
}
if(mVid.isPlaying() == true){
mVid.stopPlayback();
}
mVid.setVideoURI(mPath);
mVid.requestFocus();
mVid.start();
Log.d(DEB_TAG, "THIS IS THE HEIGHT: " + mVid.getMeasuredHeight());
Log.d(DEB_TAG, "THIS IS THE WIDTH: " + mVid.getMeasuredWidth());
}
ImageView temp = null;
switch(page){
case 0:
temp = (ImageView) findViewById(R.id.scroll_page_1);
mOnPage = 0;
break;
case 1:
temp = (ImageView) findViewById(R.id.scroll_page_2);
mOnPage = 1;
break;
case 2:
temp = (ImageView) findViewById(R.id.scroll_page_3);
mOnPage = 2;
break;
}
// Change pagination image
mPageSelected.setImageResource(R.drawable.scrollview_page_off);
temp.setImageResource(R.drawable.scrollview_page_on);
mPageSelected = temp;
}
首先,以这种方式加载我的视频,确保它会在每个不同的设备上显示相同的内容吗? 第二,任何想法为什么视频将开始播放然后踢错误的视频无法播放? 这是我在视频启动但在锁定时在LogCat中获得的内容。
07-01 13:27:05.594: WARN/PlayerDriver(30): Using generic video MIO
07-01 13:27:22.324: WARN/PlayerDriver(30): Video track fell behind
07-01 13:27:22.324: ERROR/MediaPlayer(409): error (1, 48)
07-01 13:27:22.324: ERROR/MediaPlayer(409): Error (1,48)
07-01 13:27:22.324: DEBUG/VideoView(409): Error: 1,48
答案 0 :(得分:0)
模拟器上的视频播放不是很稳定。如果您经常使用视频,则应至少在一台真实设备上进行测试和开发。这是一个常见的问题。