音视频开发|基础概念辨析|AudioSource和AudioSink

音视频开发是一个充满机遇和挑战的领域,对于想要走的更远的同学,对基础概念进行透彻理解是重中之重;今天我们就来聊一聊音频开发中两个基础概念:AudioSourceAudioSink

人往高出走,水往低处流~

飞流直下三千尺,疑是银河落九天~

白日依山尽,黄河入海流~

由上可知,河流的发源地一般是高山或其他地势较高的地方,最后流入大海或其他低洼地;音频流跟水流一样,它也有源头-Source,尽头-Sink(洼地)。

什么是 AudioSource(音频源)?

AudioSource——A Source that create the audio data,顾名思义,就是音频数据的“源头”,它是系统获取音频数据的地方,举几个例子,方便我们理解音源。

在手机等智能设备中:

  • 麦克风:当我们在手机上录音或者视频通话时,麦克风会把声音转音视数据,所以麦克风就是一个音频源;
  • 音频文件:当我们播放一首歌或一个播客时,音频文件中的数据也是音频源。
  • 网络流:像在视频网站或者直播平台中,音频流通过网络传输,也是音频源。

在现实中

  • 人声、鸟声、风声、雨声,声声入耳,这些能产生声音的事物都可以称为声源/音源,耳朵则是接收器。

什么是 AudioSink?

AudioSink——A sink that consumes audio data,与 AudioSource 相对应,AudioSink 是音频数据的“终点、尽头”或“接收器”,它决定了音频最终会在哪里输出,比如扬声器、耳机等设备。

当你听一首音乐时,手机从文件或网络获取音频数据(AudioSource),最后音频数据到AudioSink,它会控制音频流通过扬声器或耳机播放出来。

无论音频数据来自哪里,它最终要被用户听到,都是通过AudioSink(音频末端处理器)来实现的,AudioSink 是负责接收并播放音频数据的设备或组件

在 Android 开发中AudioTrack 类就是一个AudioSink这个概念的具体实现类,它负责将音频数据发送到硬件进行播放。

小结

如果把整个音频处理过程看作一个流水线, AudioSource 是输入音频原料的地方,AudioSink 是输出加工后产品(声音)的区域。理解这两个概念的配合关系,在很多场景下对于音视频开发非常重要,例如:

  • 录制音频:需要选择合适的音频源(如麦克风);
  • 播放音频:需要合理配置音频输出(如扬声器、耳机);
  • 流媒体:在开发流媒体应用时,知道如何从网络获取音频流并通过合适的设备输出;

音频开发就像搭建一座桥梁,AudioSource 是这个桥的起点,AudioSink 是这个桥的终点,了解清楚一个音频处理系统的起点和终点,我们才能够进行第一性原理思维,不断推陈出新,拥抱未来。

版权声明:
作者:Mr李
链接:https://www.techfm.club/p/161193.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>