美文网首页
基础知识

基础知识

作者: 郑捡书 | 来源:发表于2019-04-17 10:02 被阅读0次
    获得MediaPlayer实例
    // 方式一
    // 参数和crete()方式差不多,如果设置内置资源可以参考方式二的源码
    // 另外setDataSource()方法有多个,里面有这样一个类型的参数:FileDescriptor,在使用这个 API的时候,需要把文件放到res文件夹平级的assets文件夹里,然后使用下述代码设置DataSource:
    
    AssetFileDescriptor fileDescriptor = getAssets().openFd("rain.mp3");
    m_mediaPlayer.setDataSource(fileDescriptor.getFileDescriptor(),fileDescri
    ptor.getStartOffset(), fileDescriptor.getLength());
    
    MediaPlayer mp = new MediaPlayer();
    mp.setDataSource()
    
    // 方式二
    // 内部封装了setDataSource()和prepare();所以可以直接调用start()方法进行播放,这种适合内置资源或者sd卡资源,不适合网络资源,因为prepare()是同步,可能会卡UI。
    // 内置资源的话只能放在raw文件夹中(坑爹)
    MediaPlayer mp = MediaPlayer.create(this, R.raw.test);  
    
    getCurrentPosition( ):得到当前的播放位置
    getDuration() :得到文件的时间
    getVideoHeight() :得到视频高度
    getVideoWidth() :得到视频宽度
    isLooping():是否循环播放
    isPlaying():是否正在播放
    pause():暂停
    prepare():准备(同步)
    prepareAsync():准备(异步)
    release():释放MediaPlayer对象
    reset():重置MediaPlayer对象
    seekTo(int msec):指定播放的位置(以毫秒为单位的时间)
    setAudioStreamType(int streamtype):指定流媒体的类型(一般都是AudioManager.STREAM_MUSIC)
    setDisplay(SurfaceHolder sh):设置用SurfaceHolder来显示多媒体(播放视频的时候才需要,内部是holder获取surfaceview,然后显示在surfaceview上)
    setLooping(boolean looping):设置是否循环播放
    setOnBufferingUpdateListener(MediaPlayer.OnBufferingUpdateListener listener): 网络流媒体的缓冲监听
    setOnCompletionListener(MediaPlayer.OnCompletionListener listener): 网络流媒体播放结束监听
    setOnErrorListener(MediaPlayer.OnErrorListener listener): 设置错误信息监听
    setOnVideoSizeChangedListener(MediaPlayer.OnVideoSizeChangedListener listener): 视频尺寸监听
    setScreenOnWhilePlaying(boolean screenOn):设置是否使用SurfaceHolder显示
    setVolume(float leftVolume, float rightVolume):设置音量
    start():开始播放
    stop():停止播放
    

    MediaPlayer播放音频与视频

    http://blog.csdn.net/shulianghan/article/details/38487967

    相关文章

      网友评论

          本文标题:基础知识

          本文链接:https://www.haomeiwen.com/subject/xtmcmqtx.html