【发布时间】:2013-01-05 16:20:14
【问题描述】:
我需要为两个视频音频播放 android rtsp 流。但无论我做什么,他们都不会开始。视频的 rstp 流采用 .mp4 格式,音频采用 .mp3 格式。该流在 VLC 中播放时工作正常,它显示的分辨率为 320X240。但在这里它只是给出了我在底部发布的错误。另外请告诉如何流式传输 mp3,因为在 android-sdk 的 API Demos 中没有教程。该视频适用于 Vitamio 库。但是不知道怎么自定义。
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);
//onPrepared(...) Function
public void onPrepared(MediaPlayer mediaplayer) {
Log.d(TAG, "onPrepared called");
mIsVideoReadyToBePlayed = true;
if (mIsVideoReadyToBePlayed && mIsVideoSizeKnown) {
startVideoPlayback();
}
}
//startVideoPlayback() Function
private void startVideoPlayback() {
Log.v(TAG, "startVideoPlayback");
holder.setFixedSize(mVideoWidth, mVideoHeight);
mMediaPlayer.start();
}
错误: 01-05 21:10:59.640:错误/MediaPlayerDemo(15989):无效的视频宽度(0)或高度(0)
【问题讨论】:
-
这
mIsVideoSizeKnown是如何成为真实的?mVideoWidth或mVideoHeight在哪里设置? logcat也很钝,宽度或高度为0! -
ipinak OnBufferingUpdateListener, OnCompletionListener, OnPreparedListener, OnVideoSizeChangedListener, SurfaceHolder.Callback
-
t0mm13b 这不是真的,这就是视频无法播放的原因。我只是使用 android-sdk btw 提供的 API Demos
-
这个 API 和其他许多 API 并不是世界上最好的。另外,不要使用模拟器。
-
ipinak 我几乎不使用模拟器。目前我正在 Galaxy S. Galaxy y、Galaxy S2 和 Galaxy Note 上进行测试
标签: android video-streaming audio-streaming rtsp