相关疑难解决方法(0)

在UIToolBar中匹配MPVolumeView和UISlider垂直位置

我有一个UIToolBar,旨在包含用于控制音量和亮度的滑块.我为音量使用MPVolumeView滑块,为亮度使用普通的UISlider.虽然滑块本身工作正常,但它们的垂直位置不匹配:

不匹配的UISlider和MPVolumeView

如何让它们处于同一高度?

我的代码:

- (void) createToolbar{

toolBar = [[UIToolbar alloc] init];
toolBar.frame = CGRectMake(0, 0, self.view.frame.size.width, 44);

UISegmentedControl *modeSelector = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:@"Play", @"Rec", nil]];
[modeSelector setSegmentedControlStyle:UISegmentedControlStyleBar];
[modeSelector addTarget:self action:@selector(changePlayMode) forControlEvents:UIControlEventValueChanged];
modeSelector.selectedSegmentIndex = 0;
UIBarButtonItem *modeSelectorAsToolbarItem = [[UIBarButtonItem alloc] initWithCustomView:modeSelector];

brightnessSlider = [[UISlider alloc] initWithFrame:CGRectMake(0, 0, 150, 30)];
brightnessSlider.minimumValue = 0;
brightnessSlider.maximumValue = 1;
brightnessSlider.value = [[UIScreen mainScreen] brightness];
brightnessSlider.continuous = YES;
[brightnessSlider addTarget:self action:@selector(adjustBrightness:) forControlEvents:UIControlEventValueChanged];
UIBarButtonItem *brightSliderAsToolbarItem = [[UIBarButtonItem alloc] initWithCustomView:brightnessSlider];

MPVolumeView *volView = [[MPVolumeView alloc] initWithFrame:CGRectMake(0, 0, …
Run Code Online (Sandbox Code Playgroud)

objective-c uitoolbar ios mpvolumeview

6
推荐指数
3
解决办法
4049
查看次数

AVAudioSession的OutputVolume永远不会改变

SO上有很多问题和答案,这[AVAudioSession sharedInstance].outputVolume是检测设备音量的唯一方法.但它似乎没有正常工作.outputVolume永远不会改变,尽管它在第一次设置时是正确的(在应用程序启动时).

我做错了吗?除了阅读价值之外,我不知道还能做什么outputVolume.我的直觉会告诉我这是一个错误,如果不是因为其他人似乎做得很好.我还在iOS 7和8上测试了它,所以它不是iOS 8的bug.我在一个小型测试项目中重现了同样的事情,所以我的项目中没有任何东西干扰它.

另外:我很清楚铃声音量和音量之间的区别.我改变了两个,报告的数量仍然没有改变.

这是我在测试项目中使用的函数:

- (void)checkVolume
{
    float volume = [AVAudioSession sharedInstance].outputVolume;

    NSLog(@"Volume: %f", volume);

    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^
    {
        [self checkVolume];
    });
}
Run Code Online (Sandbox Code Playgroud)

ios avaudiosession

6
推荐指数
1
解决办法
4502
查看次数

以编程方式使 iOS 设备静音/静音?

我正在尝试从我的应用程序中静音设备的铃声,但出于某种原因,使用 AVSystemController 就像这个答案(如何禁用 iOS 系统声音)不会让我让设备一直静音..它会将其降低到音量为 1 bar,但并非完全静音。

我知道这是可以做到的,可能使用像 AVSystemController 这样的私有 API,而且我知道如果用户期望应用程序提供这种功能,Apple 仍然会批准该应用程序(因为我在 App Store 中已经找到了 2 个应用程序以编程方式使设备静音,无需越狱或类似操作)。

这些应用程序实际上做得更好 - 它们实际上切换了实际的静音,而不仅仅是将音量降低到零。

有谁知道这是怎么做的?

任何帮助将不胜感激!谢谢!

iphone mute ios ios5 avsystemcontroller

5
推荐指数
1
解决办法
2万
查看次数

在iOS中获取AVPlayer的音量

有很多问题询问如何设置音量AVPlayer,但是如何获得iOS中播放器的当前音量

例如,我试图将一首歌从其当前级别淡出.我可以在其他地方保存音量并引用它,但宁愿直接从AVPlayer读取值.

objective-c ios avplayer

2
推荐指数
1
解决办法
2530
查看次数