Articles of android mediaplayer

Android SDK – 来自url的媒体播放器video

我试图find一个简单的教程,解释如何从URL加载到Android媒体播放器的video,但不幸的是我找不到任何! 我尝试了几件事来尝试让它运转但仍然没有运气。 让MediaPlayerActivity从URL加载video的最佳方法是什么? 谢谢 编辑: 我按照建议尝试了以下代码: VideoView videoView = (VideoView) findViewById(R.id.your_video_view); MediaController mediaController = new MediaController(this); mediaController.setAnchorView(videoView); videoView.setMediaController(mediaController); videoView.setVideoURI(Uri.parse(“url-here”)); videoView.start(); 当我参加这项活动时,它只会崩溃。

Android MediaPlayer – setDataSource和Release – IllegalStateException

我编写了自己的MediaPlayer类来播放特定路径中的文件并播放assets文件夹中的文件。 这是class级: public class CMediaPlayer extends MediaPlayer{ public void play(String audioPath){ this.setOnCompletionListener(new OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { mp.release(); } }); File f = new File(audioPath); if(f.exists()){ try{ FileInputStream fis = new FileInputStream(f); FileDescriptor fileD = fis.getFD(); this.setDataSource(fileD); this.prepare(); }catch(IOException e){ } this.start(); } } public void play(AssetFileDescriptor descriptor){ this.setOnCompletionListener(new OnCompletionListener() { @Override […]

使用mediaplayer的Android http直播流媒体url

我正在尝试播放一个url,但它没有播放,我使用的代码在下面..日志显示Mediaplayer错误(1,-1002),开始状态为0和错误(-38,0)为什么……? 我哪里错了……你可以帮帮我怎么玩…….. import java.io.IOException; import android.app.Activity; import android.media.AudioManager; import android.media.MediaPlayer; import android.os.Bundle; import android.view.View; import android.widget.ImageButton; import android.widget.TextView; public class BacaFatihahActivity extends Activity { final String songs_urIs= “http://stream.radiosai.net:8002/”; // private TextView txt_song_title; private MediaPlayer mediaplayer; @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main); ImageButton btn_play = (ImageButton) findViewById(R.id.button_play); ImageButton btn_pause = (ImageButton) findViewById(R.id.button_pause); ImageButton btn_next = […]

Android – 将rtsp(h264)流保存到mp4文件

我正在开展一个我需要的项目 读取来自IPCamera的输入H.264编码流 – 我可以通过rtsp://192.168.1.83:8001 / rtsp url获取此信息 显示IPCamera流 – 我可以使用 final VideoView vv = (VideoView) findViewById(R.id.video_view_h264); MediaController mc = new MediaController(getApplicationContext()); vv.setVideoURI(video); vv.setMediaController(mc); vv.requestFocus(); vv.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { public void onPrepared(MediaPlayer mp) { vv.start(); } }); 现在我想将此流记录到MP4文件中。 这是我被困的地方,我正在考虑以下选项 a)MediaRecorder – 根据我的谷歌搜索,我相信这个类的输入只能来自设备相机。 有没有办法调整这个我可以从rtsp流提供输入的地方? b)MediaCodec API – 4.1以后Android已经发布了这个低级API以及MediaExtractor和MediaCodec。 对于此选项,我认为rtsp流不能用于以下代码段 final String STREAM_URL = “rtsp://192.168.1.83:8001/”; MediaExtractor mediaExtractor = new […]

在Android 4.2.2上播放video时,Android MediaPlayer会闪烁

我正面临Android MediaPlayer类的一个奇怪问题。 我正在使用MediaPlayer在VideoView中播放video。 这适用于所有设备,除了搭载Android 4.2.2的Samsung GT-I8200N。 好吧,我实际上已经听过有关video无法在某些三星4.1.X设备上播放的报道,但是我无法将这些video放到其中一个设备上。 我在Google Android模拟器中没有出现任何错误。 更详细一点:带有Android 4.2.2的三星GT-I8200N能够以一个片段播放video,但不能在另一个片段中播放,即使使用相同的代码播放video。 当video开始时,除了video应该在的空间外,整个屏幕都会闪烁黑色。 这是代码: public abstract class AbstractSignVideoFragment extends Fragment { private static final double MAXMIMUM_VIDEO_HEIGHT_ON_LANDSCAPE = 0.4; private static final double MAXIMUM_VIDEO_WIDTH_ON_PORTRAIT = 0.8; private final static String TAG = AbstractSignVideoFragment.class.getSimpleName(); private static final String ANDROID_RESOURCE = “android.resource://”; private static final String SLASH = “/”; […]

如何使用Android MediaPlayer使AAC可通过http流进行搜索?

我有一个使用MediaPlayer的应用程序,当我流式传输下载MP3时工作正常。 我试图使用相同的应用程序来传输进度下载AAC文件。 它播放文件很好。 当我尝试使用带有AAC的MediaPlayer.seekTo()在流中跳过时,什么不起作用。 这在mp3中再次正常工作。 对于AAC流,它只是在零时重新开始播放。 我的感觉是编码相关。 尚未正确配置AAC文件以进行流式传输。 以下是MediaInfo工具的输出: Size: 2.3 MB Format: QuickTime/MPEG-4/Motion JPEG 2000 format Stream count: 2 Duration: 00:05:02 Bit rate: 64 kb/s Meta info: album_artist: Red Hot Chili Peppers album: The Getaway minor_version: 512 encoder: Lavf57.41.100 title: Dark Necessities major_brand: M4V track: 2 disc: 1 compatible_brands: isomiso2avc1 artist: Red Hot Chili […]

从List Inside Listview中播放音频,但Seekbar未在Android Listview项目中更新

我正在播放Uri的音频工作正常。 单击每个Listview项目中的按钮。 问题: 音频正在Listview中播放 ,但Seekbar仍未移动( 正在更新 )。 编辑:1 1. 音频正在每个Listview项目中完美播放 , 但是Seekbar不工作(不更新) 。 请帮我解决这个问题。 我的Listview数组适配器类: Adapter.class private static final int UPDATE_FREQUENCY = 500; int progress=0; public View getView(final int position, View view, ViewGroup parent) { LayoutInflater inflater = context.getLayoutInflater(); View rowView = inflater.inflate(R.layout.audio_listview, null, true); ListenAUdioButton = (Button) rowView.findViewById(R.id.ListenAudiobuttonxml); seek_bar_view = (SeekBar) rowView.findViewById(R.id.seek_bar); ListenAUdioButton.setOnClickListener(new View.OnClickListener() […]

为什么我会收到“不支持的格式”错误,使用Android MediaPlayer读取H.264编码的rtsp流?

我想在Android设备上显示H.264编码的rtspvideo。 该流来自Raspberry Pi,使用vlc编码/dev/video1 ,这是一个“Pi NoIR相机板”。 vlc-wrapper -vvv v4l2:///dev/video1 –v4l2-width $WIDTH –v4l2-height $HEIGHT –v4l2-fps ${FPS}.0 –v4l2-chroma h264 –no-audio –no-osd –sout “#rtp{sdp=rtsp://:8000/pi.sdp}” :demux=h264 > /tmp/vlc-wrapper.log 2>&1 我现在正在使用非常少的Android代码: final MediaPlayer mediaPlayer = new MediaPlayer(); mediaPlayer.setDisplay(holder); try { mediaPlayer.setDataSource(url); mediaPlayer.prepare(); 并获得“准备失败:状态= 0x1” IOException 。 当我查看日志时,我会看到类似的行 06-02 16:28:05.566 W/APacketSource( 316): Format:video 0 RTP/AVP 96 / MIME-Type:H264/90000 06-02 16:28:05.566 W/MyHandler( 316): […]

MediaPlayer pause()行为

我正在使用MediaPlayer从URL流式传输音频。 根据文档,调用MediaPlayer pause然后play将从pause时恢复。 我想知道它如何与现场音频流一起工作。 当我调用pause , MediaPlayer创建所有传入数据的某种缓冲区,并将其存储到我再次调用play之前? 如果确实如此,这个缓冲区的最大大小是多少? 我主要关注的是用户在存储传入音频数据时暂停MediaPlayer并使用大量内存。

在android中拨打电话后调用了AUDIOFOCUS_LOSS

我正试图在手机响铃时暂停媒体播放器。 我使用android站点的示例代码。 就像这样; public void onAudioFocusChange(int focusChange) { switch (focusChange) { case AudioManager.AUDIOFOCUS_GAIN: // resume playback if (mMediaPlayer != null && !mMediaPlayer.isPlaying()) { mMediaPlayer.start(); mMediaPlayer.setVolume(1.0f, 1.0f); } break; case AudioManager.AUDIOFOCUS_LOSS: // Lost focus for an unbounded amount of time: stop playback and // release media player stopMediaPlayer(); break; case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT: // Lost focus for a […]