异步子进程管道和流传输
reel的Python项目详细描述
异步子流程管道和流传输:
"""An example of using ``reel`` to play music.""" import trio from reel import Reel from reel.cmd import ffmpeg, sox async def main(): """Play some audio files through the speakers.""" cornell77 = ''.join([ 'http://archive.org/download/', 'gd1977-05-08.shure57.stevenson.29303', '.flac16/gd1977-05-08d02t{}.flac' ]) tracks = [ 'http://allotropic.com/static/out000.wav', 'http://allotropic.com/static/out001.wav', 'http://allotropic.com/static/out002.wav', 'http://allotropic.com/static/out003.wav', 'http://allotropic.com/static/out004.wav', 'http://allotropic.com/static/out005.wav', cornell77.format('04'), cornell77.format('05'), 'http://ice1.somafm.com/groovesalad-256-mp3', ] playlist = Reel([ffmpeg.read(track) for track in tracks]) speakers = sox.speakers() async with playlist | speakers as player: await player.play() if __name__ == '__main__': trio.run(main)
动机
此项目是python子进程控件的简化版本 管道和异步支撑。正在开发它来支持 tapedeck, 使用ffmpeg和其他shell命令的音乐流包 从不同的音乐来源到不同的目的地。