iOS:访问设备硬件音量控制

时间:2012-02-23 13:47:08

标签: objective-c ios cocoa-touch ios5

我已经在我的应用程序中实现了这个流媒体(https://github.com/DigitalDJ/AudioStreamer)并且它运行得非常好,但它没有实现音量控制,任何人都有提示如何开始使用音量幻灯片等等?

我正在寻找类似的问题:

没有找到任何有用的回答我的问题,如何改变音量(上/下),当然把它挂钩到某种控制,即滑块,任何帮助表示赞赏

2 个答案:

答案 0 :(得分:21)

确保将MediaPlayer框架添加到项目中

你必须在.h文件中定义一个视图,以便在这种情况下将滑块放入“viewVolume”

信息:这个模拟器仅在真实设备上工作。

#import <MediaPlayer/MediaPlayer.h>

- (void)showTheVolumeSlider {

    MPVolumeView *volumeViewSlider = [[MPVolumeView alloc] initWithFrame:viewVolume.bounds] ;
    [viewVolume addSubview:volumeViewSlider];
    [volumeViewSlider sizeToFit];

}

此代码使用ARC。

这段代码也会起作用:

musicPlayer = [MPMusicPlayerController iPodMusicPlayer];
    musicPlayer.volume = slider.value;

但如果你想使用它,你必须制作一个系统来更新滑块,因为设备的音量是从其他地方调整的

这将有助于更新音量,但我不知道这是否是最佳方式

  timer = [NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(updateSound) userInfo:nil repeats:YES];

这是为了更新UISlider:

- (void)updateSound {

    musicPlayer = [MPMusicPlayerController iPodMusicPlayer];
    slider.value = musicPlayer.volume;
    // value from 0.0 to 1.0

}

答案 1 :(得分:9)

您可以使用MPVolumeView。这会为您提供一个控制音量的UISlider