我有从iPod库播放歌曲的应用程序,我还必须在后台播放这首歌,所以我需要使用avplayer。但我没有设定它的音量。是他们设定音量的任何方式。
答案 0 :(得分:1)
带有音量滑块的通知弹出窗口 - Hoper有助于:
- (IBAction)volume{
MPVolumeView *volumeView = [[[MPVolumeView alloc] initWithFrame: CGRectMake(10, 37, 260, 20)] autorelease];
UIAlertView *volumeAlert = [[UIAlertView alloc] initWithTitle:@"Volume" message:@"" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[volumeView sizeToFit];
[volumeAlert addSubview:volumeView];
/*
for (UIView *view in [volumeView subviews]) {
if ([[[view class] description] isEqualToString:@"MPVolumeSlider"]) {
volumeViewSlider = view;
}
}*/
[volumeAlert show];
[volumeAlert release];
}
答案 1 :(得分:1)
您无法使用AVAudioPlayer
播放ipod-Library曲目。 AVAssetExportSession
在IOS.5中有一个BUG,因此它无法从mainbundle中的iPod库导出,所以如果你想播放iPod曲目,你就会被卡住AVPlayer
。可悲的是,只有硬件按钮才能控制音量。
答案 2 :(得分:0)
请检查此Adjusting the volume of a playing AVPlayer
如果您可以使用AVAudioPlayer
,则可以轻松使用其属性volume
答案 3 :(得分:0)
要使用滑块并使用此代码,
在.h文件中编写此代码,不要忘记实现AVAudio框架,
#import UIKit/UIKit.h>
#import Foundation/Foundation.h>
#import AVFoundation/AVFoundation.h>
@interface volumechangerViewController : UIViewController <AVAudioPlayerDelegate>
{
IBOutlet UIButton *button;
IBOutlet UISlider *volumeslider;
NSTimer *volumetimer;
AVAudioPlayer *audioplayer;
}
-(IBAction) pushplay;
@end
在.m文件中,
-(IBAction) pushplay{
//NSError *err;
NSString *filepath = [[NSBundle mainBundle] pathForResource:@"music" ofType:@"mp3"];
audioplayer = [[AVAudioPlayer alloc]initWithContentsOfURL:[NSURL fileURLWithPath:filepath] error:NULL];
audioplayer.delegate = self;
[audioplayer play];
volumetimer = [NSTimer scheduledTimerWithTimeInterval:0.05 target:self selector:@selector(updatevolume) userInfo:nil repeats:YES];
}
-(void) updatevolume{
[audioplayer setVolume:volumeslider.value];
}
希望这有助于朋友。