我正在尝试创建一个播放以H.264 / MP4编码的HTTP直播(HLS)视频的小型Android应用。
当我在我的设备上启动此应用时,它会说:
Can't Play This Video.
该设备是运行Android 4.1.2的Galaxy S3。这是我的代码:
package com.florianjensen.FlorianTest;
import android.app.Activity;
import android.os.Bundle;
import android.widget.MediaController;
import android.widget.VideoView;
import android.net.Uri;
public class MyActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
VideoView myVideoView = (VideoView)findViewById(R.id.myvideoview);
String httpLiveUrl =
"http://ds4178.flosoft-servers.net:1935/flosoft/" +
"mp4:twitStream_1128/playlist.m3u8";
myVideoView.setVideoURI(Uri.parse(httpLiveUrl));
myVideoView.setMediaController(new MediaController(this));
myVideoView.requestFocus();
myVideoView.start();
}
}
导致该错误的原因是什么?
答案 0 :(得分:1)
您必须在应用程序的清单中为应用程序授予使用Internet的权限,以便程序知道警告用户您计划使用哪些功能。这也是用户可以根据哪个使用互联网而哪个不使用互联网来在Android游戏商店中选择应用的方式。
<uses-permission android:name="android.permission.INTERNET" />
将上述uses-permission
标记放在manifest
标记内:
<manifest xlmns:android...>
</manifest>
一旦你添加它,它应该工作。有关如何放置此标记的更多说明:http://developer.android.com/guide/topics/security/permissions.html