2017-12-02 2 views
0

사운드 장치의 루프 옵션을 사용하여 재생을 반복 할 때 문제가 발생하여 멈출 수 없습니다.사운드 장치 오디오 출력에서 ​​루프를 중지하십시오.

import soundfile as sf 
import sounddevice as sd 

weight = 1.4 

data, fs = sf.read('sound.wav') 
sd.play(data * weight, fs, blocking=True,loop=True) 
sd.stop() 

루프를 시작한 후 중지하는 방법입니다. 함수 호출시 루프가 멈추고 오디오 스트림이 닫히는 함수를 작성할 수 있습니까?

+0

sd.stop()이 작동하지 않습니까? 소리가 나지 않거나 멈추지 않습니까? –

+0

sd.play (.... loop = True) 일 때 sounddevice.stop()/sd.stop()이 작동하지 않습니다. 즉 루프가 켜져 있으면 오류가 표시되지 않습니다. –

+0

하지만 그게 내가 찾고있는 기능, 어떻게 루프를 중지하는 기능입니다. –

답변

2

blocking=True은이 기능을 종료하기 전에 다른 기능을 실행할 수 없도록 설정하는 것이 문제입니다. loop=True과 결합하면 무한 루프가 생성됩니다.

당신이 원하는 것은이 도움이

import soundfile as sf 
import sounddevice as sd 

weight = 1.4 

data, fs = sf.read('sound.wav') 
sd.play(data * weight, fs,loop=True) 
sd.stop() 

희망!

+0

정확히 내가 무엇을 찾고 있었습니까. –

관련 문제