我尝试在 Android 上进行直播。我尝试了很多方法,但都没有奏效。我该怎么做?
这是 RTSP 的示例:
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setDataSource(KralStream.getTvStreamUrl().toString());
mMediaPlayer.setDisplay(holder);
mMediaPlayer.prepareAsync();
mMediaPlayer.setOnBufferingUpdateListener(this);
mMediaPlayer.setOnCompletionListener(this);
mMediaPlayer.setOnPreparedListener(this);
mMediaPlayer.setOnVideoSizeChangedListener(this);
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mMediaPlayer.setLooping(true);
Exeption :05-26 10:22:46.186:
ERROR/MediaPlayerService(10157):
create PVPlayer 05-26 10:23:06.382:
ERROR/PlayerDriver(10157): Command
PLAYER_INIT Complete with an error or
info -1 05-26 10 :23:06.382:
错误/媒体播放器(23800):错误(1,
-1)05-26 10:23:06.382:错误/媒体播放器(23800):错误(1,-1)
实时传输协议:
VideoView videoView = (VideoView)findViewById(R.id.videoView1);
Uri uri = Uri.parse("rtsp://strm-3.tr.medianova.tv/rkraltv/rkraltv");
videoView.setVideoURI(uri);
videoView.start();
它给出了这个消息:
“抱歉,这个视频
无法播放。” Exeptions;05-26
10:40:08.979:
ERROR/MediaPlayerService(10157):
create PVPlayer 05-26 10:40:09.188:
INFO/ActivityManager(10163): Displayed
activity
com.giantrabbit.nagare/.KralTvNow: 433
ms (总计 433 毫秒)05-26 10:40:11.702:
WARN/PowerManagerService(10163):计时器
0x3->0x3|0x1 05-26 10:40:29.061:
WARN/MediaPlayer(24284):信息/警告
(1, 26 ) 05-26 10:40:29.061:
INFO/MediaPlayer(24284): Info (1,26)
05-26 10:40:29.100:
ERROR/PlayerDriver(10157): 命令
PLAYER_INIT 完成,但出现错误或
信息 -1 05 -26 10:40:29.104:
错误/MediaPlayer(24284): 错误 (1,
-1) 05-26 10:40:29.108: 错误/MediaPlayer(24284): 错误 (1,-1)
实时传输协议:
mPreview = (SurfaceView) findViewById(R.id.surface);
holder = mPreview.getHolder();
holder.addCallback(this);
holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
extras = getIntent().getExtras();
public void play() {
try {
Uri video = KralStream.getTvStreamUrl();
Toast.makeText(this, video.toString(), Toast.LENGTH_SHORT).show();
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setDataSource(path);
mMediaPlayer.setDisplay(holder);
mMediaPlayer.prepare();
mMediaPlayer.setOnBufferingUpdateListener(this);
mMediaPlayer.setOnCompletionListener(this);
mMediaPlayer.setOnPreparedListener(this);
mMediaPlayer.setOnVideoSizeChangedListener(this);
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
}
catch (Exception e) {
Log.e(TAG, "error: " + e.getMessage(), e);
}
}
例外:
05-26 10:36:57.589:
错误/MediaPlayerService(10157):
创建 PVPlayer 05-26 10:37:20.542:
错误/PlayerDriver(10157):命令
PLAYER_INIT 完成,但出现错误或
信息 -1 05-26 10:37 :20.542:
ERROR/MediaPlayer(24240): 错误 (1,
-1) 05-26 10:37:20.565: WARN/PlayerDriver(10157):
PVMFInfoErrorHandlingComplete 05-26
10:37:20.682:
ERROR/MediaPlayerDemo(24240):错误:
准备失败。:状态=0x1 05-26
10:37:20.682:
错误/MediaPlayerDemo(24240):java.io.IOException
:准备失败。:
状态=0x1 05-26 10:37:20.682:
错误/MediaPlayerDemo (24240): 在
android.media.MediaPlayer.prepare(本机
方法)05-26 10:37:20.682:
错误/MediaPlayerDemo(24240):在
com.giantrabbit.nagare.KralTvNow.play(KralTvNow.java:162)
05-26 10:37 :20.682:
ERROR/MediaPlayerDemo(24240): at
com.giantrabbit.nagare.KralTvNow.surfaceCreated(KralTvNow.java:215)
05-26 10:37:20.682:
ERROR/MediaPlayerDemo(24240): at
android.view.SurfaceView。 updateWindow(SurfaceView.java:536)
05-26 10:37:20.682:
错误/MediaPlayerDemo(24240): 在
android.view.SurfaceView.dispatchDraw(SurfaceView.java:339)
05-26 10:37:20.682:
错误/ MediaPlayerDemo(24240):在
android.view.ViewGroup.drawChild(ViewGroup.java:1638)
05-26 10:37:20.682:
错误/MediaPlayerDemo(24240): 在
android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
05-26 10: 37:20.682:
错误/MediaPlayerDemo(24240): 在
android.view.ViewGroup.drawChild(ViewGroup.java:1638)
05-26 10:37:20.682:
错误/MediaPlayerDemo(24240): 在
android.view.ViewGroup.dispatchDraw (ViewGroup.java:1367)
05-26 10:37:20.682:
错误/MediaPlayerDemo(24240): 在
android.view.View.draw(View.java:6796)
05-26 10:37:20.682:
错误/MediaPlayerDemo (24240): 在
android.widget.FrameLayout.draw(FrameLayout.java:352)
05-26 10:37:20.682:
错误/MediaPlayerDemo(24240): 在
android.view.ViewGroup.drawChild(ViewGroup.java:1640)
05-26 10:37:20.682:
错误/MediaPlayerDemo(24240): 在
android. view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
05-26 10:37:20.682:
错误/MediaPlayerDemo(24240): 在
android.view.View.draw(View.java:6796)
05-26 10:37: 20.682:
错误/MediaPlayerDemo(24240): 在
android.widget.FrameLayout.draw(FrameLayout.java:352)
05-26 10:37:20.682:
错误/MediaPlayerDemo(24240): 在
com.android.internal.policy.impl .PhoneWindow$DecorView.draw(PhoneWindow.java:1894)
05-26 10:37:20.682:
错误/MediaPlayerDemo(24240): 在
android.view.ViewRoot.draw(ViewRoot.java:1407)
05-26 10:37:20.682:
错误/MediaPlayerDemo(24240): 在
android.view.ViewRoot.performTraversals(ViewRoot.java :1163)
05-26 10:37:20.682:
错误/MediaPlayerDemo(24240): 在
android.view.ViewRoot.handleMessage(ViewRoot.java:1727)
05-26 10:37:20.682:
错误/MediaPlayerDemo(24240):在
android.os.Handler.dispatchMessage(Handler.java:99)
05-26 10:37:20.682:
错误/MediaPlayerDemo(24240): 在
android.os.Looper.loop(Looper.java:123)
05-26 10 :37:20.682:
错误/MediaPlayerDemo(24240):在
android.app.ActivityThread.main(ActivityThread.java:4627)
05-26 10:37:20.682:
错误/MediaPlayerDemo(24240): 在
java.lang.reflect.Method.invokeNative(Native
Method) 05-26 10:37 :20.682:
ERROR/MediaPlayerDemo(24240): at
java.lang.reflect.Method.invoke(Method.java:521)
05-26 10:37:20.682:
ERROR/MediaPlayerDemo(24240): at
com.android.internal。 os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:871)
05-26 10:37:20.682:
错误/MediaPlayerDemo(24240): at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629)
05 -26 10:37:20.682:
错误/MediaPlayerDemo(24240):在
dalvik.system.NativeStart.main(Native
方法) 05-26 10:37:20.737:
INFO/MediaPlayer(24240): Info (1,26)
05-26 10:37:20.737:
ERROR/MediaPlayer(24240): 错误 (1,-1)
05-26 10:37:20.868:
INFO/ActivityManager(10163):显示的
活动
com.giantrabbit.nagare/.KralTvNow:
25864 毫秒(总共 25864 毫秒)05-26
10:37:23.777:
WARN/PowerManagerService(10163):定时器
0x3- >0x3|0x1
这是 HTTP 的示例:
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setDataSource("http://ikral.garantisistem.com:1935/ikral/smil:kral.smil/playlist.m3u8");
mMediaPlayer.setDisplay(holder);
mMediaPlayer.prepareAsync();
mMediaPlayer.setOnBufferingUpdateListener(this);
mMediaPlayer.setOnCompletionListener(this);
mMediaPlayer.setOnPreparedListener(this);
mMediaPlayer.setOnVideoSizeChangedListener(this);
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mMediaPlayer.setLooping(true);
例外:
05-26 10:16:24.276:
ERROR/MediaPlayerService(10157):
create PVPlayer 05-26 10:16:24.292:
ERROR/(10157): IIIIIII 内部
构造函数
PVMFMemoryBufferWriteDataStreamImpl
05-26 10:16:24.346:
INFO/PlayerDriver (10157): 缓冲
(100) 05-26 10:16:24.346:
ERROR/(10157): IIIIIII 在 PVMFMemoryBufferReadDataStreamImpl 的
构造函数内部 05-26 10:16:24.346: 错误/(10157): IIIIIII 在 PVMFMemoryBufferReadDataStreamImpl 的构造函数 内部 05- 26 10:16:24.346: 错误/(10157): IIIIIII 在 PVMFMemoryBufferReadDataStreamImpl 的构造函数 内部
05-26 10:16:24.346: ERROR/(10157):
IIIIIII 在 PVMFMemoryBufferReadDataStreamImpl 的构造函数内部
05-26
10:16:24.346: ERROR/(10157):
IIIIIII 在 PVMFMemoryBufferReadDataStreamImpl 的构造函数内部
05-26
10:16:24.346: ERROR /(10157):
IIIIIII 在 PVMFMemoryBufferReadDataStreamImpl 的构造函数内部
05-26
10:16:24.346:错误/(10157):
IIIIII 在 PVMFMemoryBufferReadDataStreamImpl 的构造函数内部
05-26
10:16:24.346:错误/(10157):
IIIIIII 在 PVMFMemoryBufferReadDataStreamImpl 的构造函数
内部
05-26 10:16:24.346:错误/(10157):
IIIIII内部构造函数
PVMFMemoryBufferReadDataStreamImpl
05-26 10:16:24.346: ERROR/(10157):
IIIIIII 在 PVMFMemoryBufferReadDataStreamImpl 的构造函数内部
05-26
10:16:24.346: 错误/(10157):
IIIIIII 在 PVMFMemoryBufferReadDataStreamImpl 的构造函数内部
05-2436
:10:16:24。 ERROR/(10157):
IIIIIII 在 PVMFMemoryBufferReadDataStreamImpl 的构造函数内部
05-26
10:16:24.350:
WARN/MediaPlayer(23736): info/warning
(1, 26) 05-26 10:16:24.354:
ERROR/PlayerDriver(10157) :命令
PLAYER_INIT 以错误或
信息完成 -10 05-26 10:16:24.354:
ERROR/MediaPlayer(23736): error (-10,
-10) 05-26 10:16:24.354: WARN/PlayerDriver(10157):
PVMFInfoErrorHandlingComplete 05-26
10:16:24.393: INFO/MediaPlayer(23736):
信息 (1,26) 05-26 10:16:24.393 :
错误/媒体播放器(23736):错误
(-10,-10)
HTTP:
VideoView videoView = (VideoView)findViewById(R.id.videoView1);
Uri uri = Uri.parse("http://ikral.garantisistem.com:1935/ikral/smil:kral.smil/playlist.m3u8");
videoView.setVideoURI(uri);
videoView.start();
它给出了以下信息:
“抱歉,这个视频无法播放。”