我试图制作一个控制背景音乐音量的 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/