Регулировка громкости с помощью UIslider Iphone? - PullRequest
5 голосов
/ 08 июля 2010

Я создаю приложение, в котором звук воспроизводится при нажатии кнопки, и использую UISlider, с помощью которого можно регулировать громкость. Иногда громкость звука слишком высокая, а иногда и слишком низкая, даже после увеличения громкости iphone до полный. Как я могу держать громкость всегда высокой ?? Любой возможный способ объединить объем системы с громкостью слайдера? Я думаю, что использование MPVolumview приведет к отклонению моего приложения. код, который я использую при нажатии кнопки, это

NSString* resourcePath = [[NSBundle mainBundle] resourcePath];
resourcePath = [resourcePath stringByAppendingString:@"/sound.mp3"];
NSLog(@"Path to play: %@", resourcePath);



player = [[AVAudioPlayer alloc] initWithContentsOfURL:
          [NSURL fileURLWithPath:resourcePath] error:&err];

    player.delegate = self;
    [player play];
    player.volume=.50;
    player.numberOfLoops=-10;

-(IBAction)slidervaluechanged 
{ player.volume=slider.value; }

}

1 Ответ

3 голосов
/ 08 июля 2010

Hemant,

Максимальная громкость, которую вы можете иметь, это когда player.volume равно 1.0 (при условии, что громкость звонка также максимальна).

Если громкость звонка не максимальная, вы можете подняться только так, как она есть, снова используя значение 1.0

Однако вы могли бы реализовать MPVolumeView (я почти уверен, как это делает Пандора), а затем вместо этого использовать этот ползунок в своем приложении. Тогда вы можете просто установить player.volume всегда равным 1.0 и позволить ползунку изменить громкость звонка.

Дополнительная информация о том, хотите ли вы использовать MPVolumeView: http://developer.apple.com/iphone/library/documentation/MediaPlayer/Reference/MPVolumeView_Class/Reference/Reference.html и Как реализовать MPVolumeView?

Я могу ошибаться, но я думаю, что Apple разрешает MPVolumeView, если вы используете его как есть. В справочнике классов говорится, что теперь при перемещении ползунка изменяется громкость звонка устройства (чего раньше не было, и поэтому людям приходилось обращаться к частному API). Я попытаюсь внедрить его в своем следующем обновлении здесь через неделю, поэтому, если меня отвергнут, я вернусь сюда и обновлю этот пост, чтобы все знали.

...