【问题标题】:Sorry,This video cannot be played! Error/PlayerDriver抱歉,这部影片无法播放!错误/播放器驱动程序
【发布时间】:2011-12-13 23:17:27
【问题描述】:

我在三星 Galaxy S 上播放我的视频时遇到问题 ..如果它来自 sdcard,它可以正常播放,但是当我上传到服务器然后发送 URL 时,它给了我“抱歉,无法播放此视频” .这是一个.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

编辑: 视频输出类

@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();


    }

【问题讨论】:

    标签: android url video video-streaming


    【解决方案1】:

    我发现流媒体播放对自己喜欢播放的视频文件非常挑剔。

    如果您可以将您的代码指向不同的电影文件并且它可以工作,那么我建议您找到不同的转换器,或者调整与您的编解码器相关的设置并重试。或者您可以将其设置为下载 SD 中的视频,然后从那里播放。

    编辑:

    Wondershare Video Converter Platinum 让我很幸运。我认为有一个免费版本,但是一旦我测试它并发现它可以满足我的需求,我就已经为它花钱了。

    也发布您的 VideoOutput 类中的代码。这可能有助于阐明正在发生的事情。

    您还应该用YourActivityName.this 替换getApplicationContext() 的两个实例。以这种方式使用 getApplicationContext() 很容易使您的上下文副本在内存中保留的时间比需要的时间长。再加上您的 Activity 已经一个上下文,因此您不需要获得对更大范围上下文的新引用。

    【讨论】:

    • 我尝试了许多不同的转换器,但仍然相同我尝试使用 HandBrake 更改编解码器的设置,现在我收到此错误:“抱歉,此视频不适用于流式传输到此设备”..我有多个视频,我需要从非 SD 的服务器播放它们
    • 谢谢..我会试试 Wondershare Video Converter..查看我对 VideoOutput 类的编辑
    猜你喜欢
    • 2013-12-04
    • 1970-01-01
    • 1970-01-01
    • 2011-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多