【问题标题】:Android video stream from url over the videoview or surfaceview来自视频视图或表面视图的 url 的 Android 视频流
【发布时间】:2017-04-23 04:12:59
【问题描述】:

关于同一主题的帖子太多了,但没有人给出这个错误的正当理由,有人能帮我解决这个错误吗? 我的代码适用于 SDCARD 视频。每当我尝试从 url 访问它时,它都会引发此错误。

W/MediaPlayer: Couldn't open file on client side; trying server side: java.io.FileNotFoundException: No content provider: http://download.itcuties.com/teaser/itcuties-teaser-480.mp4
E/MediaPlayer: error (1, -2147483648)

我尝试了几种格式和几个 url,我得到了同样的错误。 已授予 Internet 权限。

代码:

public class MainActivity extends AppCompatActivity {
VideoView video1;
String url ="http://download.itcuties.com/teaser/itcuties-teaser-480.mp4";
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    video1 = (VideoView) findViewById(R.id.video1);
    video1.setVideoURI(Uri.parse(url));
    video1.setMediaController(new MediaController(this));
    video1.requestFocus();
    Thread view1=new Thread(new Runnable() {

        @Override
        public void run() {
            // TODO Auto-generated method stub
            android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_DISPLAY);
            video1.start();
        }
    });
}

}

【问题讨论】:

  • 您的 INTERNET 权限是否包含在 Manifest 中?检查并包括正确的日志。上面的日志是针对不同的 URL。
  • 是的,已授予 Internet 权限。

标签: android video-streaming surfaceview android-videoview


【解决方案1】:

您只需要启动 view1 线程。您的代码加载视频但不播放。添加这将解决问题。

 view1.start();

【讨论】:

  • 不,你还没有启动线程。您正在启动 videoview,而不是线程。
  • 如果是这种情况,那么它也不应该适用于 sd 卡上的视频
  • 我刚刚在设备上尝试过,它适用于您的 URL,试一试,让我知道它是否适用于您。
  • 您使用的是哪种设备?我尝试在代码末尾添加 view1.start() ,但仍然出现相同的错误。
  • 在我的 Nexus 5 上工作。:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-24
  • 2014-07-19
  • 1970-01-01
相关资源
最近更新 更多