我将服务器麦克风的音频发送到浏览器(大部分像这篇文章,但有一些修改的选项)。
一切都工作正常,直到你转到手机或野生动物园,它根本不起作用。我尝试过使用像howler这样的东西来处理前端,但没有成功(仍然可以在 Chrome 和计算机上使用,但不能在手机 Safari/Chrome/等上使用)。<audio> ... </audio>在 Chrome 中运行良好,但仅在计算机上运行。
function play_audio() {
var sound = new Howl({
src: ['audio_feed'],
format: ['wav'],
html5: true,
autoplay: true
});
sound.play();
}
Run Code Online (Sandbox Code Playgroud)
如何发送可在任何浏览器中运行的“实时”wav 生成的音频源?
编辑230203:
我已将错误范围缩小到标题(至少我认为是导致错误的原因)。
应该使用什么标头才能使声音在所有浏览器中可用?
就拿这个简单的app.py例子来说:
from flask import Flask, Response, render_template
import pyaudio
import time
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html', headers={'Content-Type': 'text/html'})
def generate_wav_header(sampleRate, bitsPerSample, channels):
datasize = 2000*10**6
o = bytes("RIFF",'ascii')
o += (datasize + 36).to_bytes(4,'little')
o += bytes("WAVE",'ascii') …Run Code Online (Sandbox Code Playgroud)