0

I have App that play the Song from the iPod library and i also have to play the song in background so i take avplayer. but i dont set its volume. is their any way to set the volume.

Hitendra
  • 1
  • 1
  • 1

4 Answers4

1

Notification popup with volume slider inside - Hoper this helps:

- (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];
}
Patrick R
  • 1,949
  • 3
  • 32
  • 58
1

You can't play an ipod-Library track using AVAudioPlayer. AVAssetExportSession has a BUG in IOS.5 so it's unable to export from iPod library in mainbundle, So if you want to play iPod tracks, your stuck with AVPlayer. Sadly only Hardware buttons can control the volume of this.

iDev
  • 23,310
  • 7
  • 60
  • 85
tomoan74
  • 25
  • 1
0

Pls check this Adjusting the volume of a playing AVPlayer

If you can use AVAudioPlayer you can easily use its property volume

Community
  • 1
  • 1
visakh7
  • 26,380
  • 8
  • 55
  • 69
0

To use a slider and use this code,

In .h file write this code and don't forget to implement AVAudio framework,

 #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

And in .m file,

-(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];
}

Hope this helps friend.

Pugalmuni
  • 9,350
  • 8
  • 56
  • 97
vijay adhikari
  • 2,455
  • 1
  • 16
  • 22