我在三星Galaxy S上播放我的视频时遇到问题..如果它来自SD卡,那么播放就好了但是当我上传到服务器然后发送网址时它会给我“抱歉,此视频无法播放” 。这是一个.mp4视频,我使用Sothink视频转换器将其转换为Android格式。
这是我的VideoView代码:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setListAdapter(ArrayAdapter.createFromResource(getApplicationContext(),
R.array.lecturehalls,R.layout.list_item));
final String[] links = getResources().getStringArray(R.array.vid_links);
getListView().setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
String content = links[position];
Intent showContent = new Intent(getApplicationContext(),
VideoOutput.class);
showContent.setData(Uri.parse(content));
startActivity(showContent);
}
});
}
注意:URL路径存储在strings.xml中的数组中 我使用此链接时工作正常:http://www.pocketjourney.com/downloads/pj/video/famous.3gp 我的链接工作正常,我在我的电脑上进行了测试,但在手机上却无法正常工作!
这就是我得到的:
12-14 02:11:01.621: ERROR/PlayerDriver(1287): Command PLAYER_INIT completed with an error or info PVMFFailure
编辑: VideoOutput类
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.videoview);
MediaController mediaController = new MediaController(this);
VideoView videoView = (VideoView) findViewById(R.id.video);
Intent launchingIntent = getIntent();
String content = launchingIntent.getData().toString();
mediaController.setMediaPlayer(videoView);
videoView.setVideoPath(content);
videoView.setMediaController(mediaController);
videoView.requestFocus();
videoView.start();
mediaController.show();
}
答案 0 :(得分:0)
我发现流媒体播放对于它喜欢播放的视频文件非常挑剔。
如果您可以将代码指向不同的电影文件并且它可以正常工作,那么我建议您找到不同的转换器,或者调整与您的编解码器相关的设置并再次尝试。或者您可以将其设置为将视频下载到SD,然后从那里播放。
编辑:
我在Wondershare Video Converter Platinum上运气不错。我认为有一个免费版本,但是一旦我对它进行了测试并发现它可以满足我的需求,我已经为它付了钱。
也发布VideoOutput类中的代码。这可能有助于揭示正在发生的事情。
此外,您应该将getApplicationContext()
的两个实例替换为YourActivityName.this
。以这种方式使用getApplicationContext()很容易在内存中保存上下文的副本,而不是需要的时间。此外,您的活动已经 一个上下文,因此您无需获得对具有更大范围的上下文的新引用。