1 回答

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超10個(gè)贊
您仍在引用文件系統(tǒng)上的文件,即使您已將其打包到二進(jìn)制文件中:
args := []string{"-v20", "./sounds/IEEE_float_mono_32kHz.wav"}
output, err := exec.Command("play", args...).Output()
您可以像這樣從 packr 框中獲取文件數(shù)據(jù):
bytes, err := soundsBox.FindBytes("IEEE_float_mono_32kHz.wav")
要執(zhí)行文件,exec.Command()我認(rèn)為你必須將這些字節(jié)寫(xiě)回文件系統(tǒng):
err := ioutil.WriteFile("/tmp/IEEE_float_mono_32kHz.wav", bytes, 0755)
exec.Command("play", []string{"-v20", "/tmp/IEEE_float_mono_32kHz.wav"}
您也許可以play通過(guò)標(biāo)準(zhǔn)輸入將字節(jié)傳遞給它,但這取決于play二進(jìn)制文件的工作方式。
cmd.Stdin = bytes
cmd.Run()
- 1 回答
- 0 關(guān)注
- 189 瀏覽
添加回答
舉報(bào)