Как отменить воспроизведение звука, запущенного с помощью AudioServicesPlaySystemSound?

Есть ли способ отменить, приостановить или остановить звук, который начал воспроизводиться с помощью вызова AudioServicesPlaySystemSound()?


person openfrog    schedule 22.12.2012    source источник


Ответы (1)


К сожалению, вы не можете — как следует из названия, он предназначен для воспроизведения звуков, которые будут использоваться для системных предупреждений, когда вам не нужно их контролировать. Вы можете остановить звук, воспроизводимый через AudioServicesPlaySystemSound(), вызвав AudioServicesDisposeSystemSoundID(), но это хакерский прием, и его лучше избегать.

Лучший вариант для прямого и простого управления воспроизведением звука — использовать AVPlayer, часть AVFoundation — документация здесь.

person lxt    schedule 22.12.2012
comment
AudioServicesDisposeSystemSoundID() отменяет приятный хороший, проверено на AudioServicesPlayAlertSound(). - person kelin; 13.07.2017