我正在使用本指南将我的树莓派变成调频发射机。我可以录制音频,scp
一遍,然后使用指南中描述的方法播放。我的目标是在我的主电脑上使用麦克风通过网络将音频流传输到Pi,并将其传输到PiFm程序。
我似乎根本无法输入音频文件,即使在Pi上也是如此。以下是使用PiFm:播放声音文件的规定方法
sudo python
>>> import PiFm
>>> PiFm.play_sound("sound.wav")
我曾尝试使用此方法将fileinput
添加到PiFm.py文件中,但当我尝试将WAV文件作为参数或通过管道将其输入时,我会收到以下错误:
pi@raspberrypi ~/radio $ sudo python PiFm.py sound.wav
Traceback (most recent call last):
File "PiFm.py", line 11, in <module>
play_sound(line)
File "PiFm.py", line 7, in play_sound
call(["./pifm", filename])
File "/usr/lib/python2.7/subprocess.py", line 493, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1259, in _execute_child
raise child_exception
TypeError: execv() arg 2 must contain only strings
这是我的PiFm.py文件:
#!/usr/bin/python
from subprocess import call
import fileinput
def play_sound( filename ):
call(["./pifm", filename])
return
for line in fileinput.input():
play_sound(line)
尝试:
PiFm.play_sound(u'sound.wav'.encode('utf8'))