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

Lon*_*don 7 cocoa-touch objective-c ios ios5

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

我正在寻找一些类似的问题:

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

Flo*_*497 21

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

您必须在.h文件中定义一个视图,以便在此示例中将滑块放入"viewVolume"

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

#import <MediaPlayer/MediaPlayer.h>

- (void)showTheVolumeSlider {

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

}
Run Code Online (Sandbox Code Playgroud)

此代码使用ARC.

这段代码也会起作用:

musicPlayer = [MPMusicPlayerController iPodMusicPlayer];
    musicPlayer.volume = slider.value;
Run Code Online (Sandbox Code Playgroud)

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

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

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

这是为了更新UISlider:

- (void)updateSound {

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

}
Run Code Online (Sandbox Code Playgroud)


edc*_*591 9

你可以用MPVolumeView.这样UISlider可以控制音量.