iphone - 如何通过 UISlider 更新 iPhone 上的音乐音量?

标签 iphone objective-c ios uislider

我试图制作一个控制背景音乐音量的 UISlider,无论我将值设置为什么,都应该是音乐的音量。问题是,当我在模拟器中运行应用程序并移动 slider 时,音量保持为原始音量,不会更新。

我是编程新手,所以我仍然需要基础方面的帮助。

这是我的 viewcontroller.h:

@interface FifthViewController : UIViewController <AVAudioPlayerDelegate> {

IBOutlet UISlider *slider;
IBOutlet UIAlertView *alert;
AVAudioPlayer *theAudio;


}


-(IBAction)alertbutton;
-(IBAction)changeVolume;
@end;

这里是 viewcontroller.m:

- (void)viewDidLoad

{
NSString *path = [[NSBundle mainBundle] pathForResource:@"background music" ofType:@"mp3"];
AVAudioPlayer* theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];
theAudio.delegate = self;
[theAudio play];
theAudio.numberOfLoops = -1;      
theAudio.volume=slider.value;


[super viewDidLoad];
}

我已将“slider”连接到一个水平 slider ,声音开始循环播放。如果我在 Xcode 中将 slider 的值设置得更高或更低,当我运行应用程序时,音量会相应地调整。但是如果我在应用程序中更改 slider 的值,音量将保持不变。任何人都可以查看我的代码并告诉我我做错了什么以及如何解决它吗?

最佳答案

假设您在 Controller 中设置了一个 AVAudioPlayer 实例。

将 slider 设置为从 0.0 运行到 1.0 并将其连接到一个 Action 。

-(void)volumeValueChange:(UISlider *)sender
{
    (AVAudioPlayer *)myaudioplayer.volume = sender.value;
}

关于iphone - 如何通过 UISlider 更新 iPhone 上的音乐音量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7213891/

相关文章:

iphone - 结构分配上的 EXC_BAD_ACCESS——不知道为什么会这样

ios - 在 swift-ObjC 中访问扩展中的静态变量

ios - 我可以为 iPhone 和 iPad 提供两个单独的应用程序吗?

iphone - 表情符号将我的键盘更改为...

ios - 如何在CGContext中绘制String?

iphone - UITextView行高问题

iphone - capitalizedString 将连字符后的单词大写?

iphone - 无法在基本单元测试设置中测试我的类(class)

iOS:Autolayout 在 iPhone 中未显示正确的尺寸

ios - Sprite Kit - 检测接触