Узнайте, воспроизводится ли в данный момент звук

StackOverflow https://stackoverflow.com/questions/392542

  •  23-08-2019
  •  | 
  •  

Вопрос

Мне нужно узнать, воспроизводит ли моя программа в данный момент какой-либо звук, и если да, то я хочу остановить предыдущий звук и начать новое воспроизведение.Собственность kaudiosessionproperty_otheraudioisplaying всегда возвращает 0 (вероятно, проверяет, играет ли iPod Music), есть еще одна собственность Kaudioqueeproperty_isrunning, но это всегда возвращает 0, независимо от того, работает ли звук или нет.Подскажите, пожалуйста, как узнать, воспроизводится ли звук в моем приложении или нет.

Спасибо.

Примечание:Класс, из которого я вызываю свой стример, освобождается, когда я возвращаюсь в иерархию представлений.Поэтому у меня нет возможности получить доступ к AudioFileStreamID, чтобы узнать, воспроизводится ли звук.Мне нужно использовать одно из свойств, предоставляемых SDK.

Это было полезно?

Решение

Нашел обходной путь.Вместо создания объекта стримера в контроллере представления я использую ссылку в appDelegate.Таким образом, у меня всегда будет живая ссылка на класс стримера, к которой я могу получить доступ в любом из контроллеров представления, чтобы узнать, воспроизводится ли в данный момент звук или нет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top