gpt4 book ai didi

java - 使用 Android VideoView 从 VLC 播放器到 AVD 的 HTTP 流式传输

转载 作者:行者123 更新时间:2023-12-01 05:37:34 26 4
gpt4 key购买 nike

我正在尝试在 Android 模拟器(v. 2.3.3 - Eclipse IDE)上流式传输 3gp 视频。我使用 VLC 媒体播放器在端口 9090 上使用 HTTP 准备一个流,无需任何转码。为了测试流媒体,我打开了一个新的 VLC 实例并连接到我的本地 IP (192.168.1.107:9090),我看到视频没有任何问题。现在我在 Android 上尝试在 Activity 类的 onCreate(Bundle) 方法上使用以下代码:

VideoView video = (VideoView) findViewById(R.id.video);
String uri = "http://192.168.1.107:9090";
video.setVideoURI(Uri.parse(uri));
video.setMediaController(new MediaController(this));
video.requestFocus();
video.start();

但是当应用程序启动时,出现此消息:“无法重现视频”。这是日志猫:

D/MediaPlayer(454): Couldn't open file on client side, trying server side
E/MediaPlayer(454): error (1, -2147483648)
E/MediaPlayer(454): Error (1,-2147483648)
D/VideoView(454): Error: 1,-2147483648

我还尝试使用 URI 10.0.2.2:9090 获得相同的结果,并尝试使用 127.0.0.1:9090 获得相同的消息和错误范围 (1, -111)

请注意,如果我在本地播放相同的视频,效果很好:

String uri = "android.resource://" + getPackageName() + "/" + R.raw.myvideo;

我使用Windows 7 x64

编辑:我也尝试将视频上传到我的 Dropbox 的公共(public)文件夹中,但出现了相同的错误,但使用了原始的 link有用!我的本地网络有问题吗?错误 (1,x) 是什么意思?

Edit2:我已经在本地网络上启动了 XAMPP session ,并将视频放在一个文件夹中。 IP 地址是这样的:

String uri = "http://192.168.1.107:8080/myfolder/myvideo.3gp";

它可以工作,即使这没有正确流式传输,而是类似于主动下载(如我第一次编辑中网络上的示例)。

最佳答案

您是否检查过本地网络服务器是否使用 HTTP 响应 header 中设置的正确 Content-Type(或 mime 类型)来传送视频?

您的原始链接使用Content-Type:video/3gpp

对于 VLC,您可以在选项页面上指定内容或 MIME 类型。根据documentation您必须编辑选项字符串并添加

:mime=video/3gpp

关于java - 使用 Android VideoView 从 VLC 播放器到 AVD 的 HTTP 流式传输,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7915179/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com