这个音频不能太大了,流媒体的模式,我一直没弄好,最后就暴力传入音频base64文件,在h5的页面里 标签把src属性设置一下就好了。
先看服务端代码import base64
from flask import Flask
from flask import request
from flask import Response
@app.route('/audio', methods=['GET'])
def audio():
def generate1(path):
with open(path, 'rb') as fmp3:
data = fmp3.read(1024)
while data:
yield data
data = fmp3.read(1024)
return data
# return Response(generate('audio.wav'), mimetype="audio/x-wav")
if request.args['wav_name'] != '':
path = request.args['wav_name']
return Response(generate1(path), mimetype='audio/x-wav')
@app.route('/audio22', methods=['GET'])
def audio22():
def generate1(path):
with open(path, 'rb') as fmp3:
data = fmp3.read()
data = base64.b64encode(data)
return data
# return Response(generate('audio.wav'), mimetype="audio/x-wav")
if request.args['wav_name'] != '':
path = request.args['wav_name']
return generate1(path)
@app.route('/audio1', methods=['GET'])
def audio1():
name = request.args['wav_name']
angry = request.args['angry']
sad = request.args['sad']
happy = request.args['happy']
surprise = request.args['surprise']
return '原音频'
''
'生气'
''
'悲伤'
''
'高兴'
''
'惊奇'
''
''
''
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8000, debug=True)
把这个文件跑起来
网页端输入http://192.168.0.106:8000/audio1?wav_name=audio.wav&angry=audio.wav&sad=audio.wav&happy=audio.wav&surprise=audio.wav
就好了,当然只要一个局域网都可以访问,毕竟是把数据一次性直接传出去了。
但是有个很大的疑惑,我用的是python的Flask web框架,它推荐的音频流接口写法应该是这个
http://192.168.0.106:8000/audio?wav_name=audio.wav
但这个链接只能在本地服务器跑,换一个局域网的另机器就用不了了,有点奇怪。



