android_Mediaplayer&audiotrack MediaRecord&audiorecord
2013-09-23 16:38
471 查看
Mediaplayer&audiotrack MediaRecord&audiorecord
播放声音可以用MediaPlayer和AudioTrack,两者都提供了java API供应用开发者使用。虽然都可以播放声音,但两者还是有很大的区别的。
其中最大的区别是MediaPlayer可以播放多种格式的声音文件,例如MP3,AAC,W***,OGG,MIDI等。MediaPlayer会在framework层创建对应的音频解码器。而AudioTrack只能播放已经解码的PCM流,如果是文件的话只支持wav格式的音频文件,因为wav格式的音频文件大部分都是PCM流。AudioTrack不创建解码器,所以只能播放不需要解码的wav文件。
当然两者之间还是有紧密的联系的,MediaPlayer在framework层还是会创建AudioTrack,把解码后的PCM数流传递给AudioTrack,AudioTrack再传递给AudioFlinger进行混音,然后才传递给硬件播放。
所以是MediaPlayer包含了AudioTRack。
PCM和W***区别:pcm是一种数据编码格式,CD唱盘上刻录的就直接用pcm格式编码的数据文件;wav是一种声音文件格式,wav里面包含的声音数据可以是采用pcm格式编码的声音数据,也可以是采用其它格式编码的声音数据,但目前一般采用pcm编码的声音数据。
pcm是一个通信上的概念,脉冲编码调制。wav是媒体概念,体现的是封装。wav文件可以封装pcm编码信息,也可以封装其他编码格式,例如mp3等。
MediaRecorder和AudioRecord都可以录制音频,区别是MediaRecorder录制的音频文件时经过压缩后的,需要设置编码器。并且录制的音频文件可以用系统自带的Music播放器播放。而AudioRecord录制的是PCM格式的音频文件,需要用AudioTrack来播放,AudioTrack更接近底层。在用MediaRecorder进行录制音视频时,最终还是会创建AudioRecord用来与AudioFlinger进行交互。
播放声音可以用MediaPlayer和AudioTrack,两者都提供了java API供应用开发者使用。虽然都可以播放声音,但两者还是有很大的区别的。
其中最大的区别是MediaPlayer可以播放多种格式的声音文件,例如MP3,AAC,W***,OGG,MIDI等。MediaPlayer会在framework层创建对应的音频解码器。而AudioTrack只能播放已经解码的PCM流,如果是文件的话只支持wav格式的音频文件,因为wav格式的音频文件大部分都是PCM流。AudioTrack不创建解码器,所以只能播放不需要解码的wav文件。
当然两者之间还是有紧密的联系的,MediaPlayer在framework层还是会创建AudioTrack,把解码后的PCM数流传递给AudioTrack,AudioTrack再传递给AudioFlinger进行混音,然后才传递给硬件播放。
所以是MediaPlayer包含了AudioTRack。
PCM和W***区别:pcm是一种数据编码格式,CD唱盘上刻录的就直接用pcm格式编码的数据文件;wav是一种声音文件格式,wav里面包含的声音数据可以是采用pcm格式编码的声音数据,也可以是采用其它格式编码的声音数据,但目前一般采用pcm编码的声音数据。
pcm是一个通信上的概念,脉冲编码调制。wav是媒体概念,体现的是封装。wav文件可以封装pcm编码信息,也可以封装其他编码格式,例如mp3等。
MediaRecorder和AudioRecord都可以录制音频,区别是MediaRecorder录制的音频文件时经过压缩后的,需要设置编码器。并且录制的音频文件可以用系统自带的Music播放器播放。而AudioRecord录制的是PCM格式的音频文件,需要用AudioTrack来播放,AudioTrack更接近底层。在用MediaRecorder进行录制音视频时,最终还是会创建AudioRecord用来与AudioFlinger进行交互。
相关文章推荐
- Android多媒体音频—AudioRecord&AudioTrack
- Android audioManager解决MediaPlayer AudioTrack 调节音量问题
- Android audioManager解决MediaPlayer AudioTrack 调节音量问题
- Android audioManager解决MediaPlayer AudioTrack 调节音量问题
- (Android) MediaPlayer & AudioRecord
- android MediaPlayer 出…
- Android提高第十篇之AudioRecord实现"助听器"
- Android使用AudioRecord录制pcm音频原始数据以及使用AudioTrack播放
- Android提高第十篇之AudioRecord实现"助听器"
- Android提高第十篇之AudioRecord实现"助听器"
- 音频(二) - AudioRecord&AudioTrack
- Android AudioRecord和AudioTrack介绍
- Android提高第十篇之AudioRecord实现"助听器"[转]
- Android提高第十篇之AudioRecord实现"助听器"
- Android提高第十篇之AudioRecord实现"助听器"
- Android-->MediaMuxer,MediaCodec,AudioRecord及Camera实现音频视频混合MP4文件
- android MediaPlayer 播…
- AudioRecord: AudioFlinger could not create record track, status: -1
- Android TextureView & MediaPlayer implements video media player
- Mac下cocos2dx-3.0打包Android时,提示"SimpleAudioEngine.h"not found的解决方法