Вопрос по ios5, ios, iphone – Выключить / отключить звук устройства iOS программно?

4

Я пытаюсь отключить звонок устройства из моего приложения, но по какой-то причине использую AVSystemController, как в этом ответе (Как отключить системные звуки iOS ) не позволит мне замолчать устройство ВСЕГДА вниз ... оно падает до уровня 1 бар, но не полностью бесшумно.

Я знаю, что это можно сделать, возможно, с помощью частного API, такого как AVSystemController, и я знаю, что Apple все еще будет утверждать приложение, если пользователь ожидает такого рода функциональные возможности от приложения (поскольку уже найдено 2 приложения, которые я нашелin the App Store который программно отключает звук устройства без необходимости джейлбрейка или чего-то подобного).

Эти приложения на самом деле делают что-то лучше - они фактически переключают реальное отключение звука, а не просто уменьшают громкость до нуля.

Кто-нибудь знает, как это делается?

Любая помощь будет оценена! Спасибо!

Если у вас есть какое-либо решение, пожалуйста, поделитесь им здесь, чтобы оно могло помочь и другим. Muhammad Rizwan
Это звучит так, как будто вы пытаетесь что-то сделать, большинство пользователей не хотели бы, чтобы приложение выполнялось без их согласия. Я молюсь Стиву, что это не выполнимо. Till
stackoverflow.com/questions/7828958/… Roshit
Хм, @Roshit, значит, вы говорите, что мне нужно отправить запрос на публикацию этого API? Я не думаю, что это хорошая идея, потому что это открывает дверь для вреда, но я верю, что Apple БУДЕТ одобрить мое приложение, даже если оно использует частный API ... Кто-нибудь имеет реальный полезный ответ, пожалуйста? Благодарю. itai alter
То, что я пытаюсь сделать, это автоматически отключить ваше устройство, когда вы идете на собрание (пожалуйста, не крадите идею). Пользователям это понравится, и, пожалуйста, не используйте имя Стива напрасно. itai alter

Ваш Ответ

1   ответ
1

у меня есть кнопка, которая включает и выключает звук в игре. Я установил значение float на 10, когда я хочу звук, и на 0, когда я хочу звук выключен.

float value = 0.0f;
AudioSessionSetProperty(kAudioSessionProperty_CurrentHardwareOutputVolume, sizeof(float), &value);

Update:

Еще один вариант, который все еще работает с iOS 9.1

float vol = [[AVAudioSession sharedInstance] outputVolume];
NSLog(@"output volume: %1.2f dB", 20.f*log10f(vol+FLT_MIN));

Для Свифта:

let volume = AVAudioSession.sharedInstance().outputVolume   
print("Output volume: \(volume)")

Источники обновлений отвечают:Получить системный том iOS

Устаревший в iOS 8x
outputVolume является свойством только для чтения и не может быть изменено.

Похожие вопросы