Ich habe ziemlich viele Beiträge über AVAudioPlayer gesehen, aber nones hilft: Ich kann nicht mehr klingen lassen (auch wenn es verwendet mit Xcode zu arbeiten, bevor Upgrade auf 8.3.2)ObjectiveC AVAudioPlayer Volumen 0
Hier ist mein Code :
AVAudioPlayer *audioPlayerObj;
AVAudioSession *session;
[...]
- (IBAction)playSound:(id)sender {
audioPlayerObj.delegate = self;
if(playButton.isSelected){
playButton.selected=NO;
(void) [audioPlayerObj stop];
}
else{
session = nil;
{NSError * _error;
session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayback
error:&_error];
[session setActive:YES error:&_error];
if(_error !=nil)
{ NSLog(@"could not init the audio player session %@ ", _error);
}
}
NSString * tune =[NSString stringWithFormat:@"%@.wav",[pickerViewArray objectAtIndex:[pickerView selectedRowInComponent:0]]];
NSString *path =[[NSBundle mainBundle] pathForResource:tune ofType:@""];
NSURL * actualFilePath= [NSURL fileURLWithPath:path];
NSError *error;
(void)[audioPlayerObj initWithContentsOfURL:actualFilePath error:&error];
[audioPlayerObj prepareToPlay];
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"8.0"))
{
[audioPlayerObj setVolume:0.99 fadeDuration: 1];
}
NSLog(@"syst volume : %f", [session outputVolume]);
NSLog(@"vol : %f\n",[audioPlayerObj volume]);
if(error !=nil)
{ NSLog(@"could not init the audio player %@ ", error);
audioPlayerObj=nil;
}
else
{
(void) [audioPlayerObj setNumberOfLoops:-1 ];
(void) [audioPlayerObj play];
NSLog(@"playing with vol : %f\n",[audioPlayerObj volume]);
[audioPlayerObj setVolume:0.99 fadeDuration: 1];
playButton.selected=YES;
}
}
`
Der Ausgang ist syst volume : 0.476119 vol : 0.000000 playing with vol : 0.000000
Jeder Hinweis auf, wie man das Volumen zu erhöhen, würde geschätzt. Die Ansicht hat auch eine MPVolumeView
, aber jede Aktion darauf würde nur das Systemvolumen ändern.
versuchen, dieses 'AVAudioSession * audioSession = [AVAudioSession sharedInstance]; [audioSession setKategorie: AVAudioSessionCategoryPlayback Fehler: nil]; ' –
@pawan: der oben gepostete Code setzt bereits eine AVaudiosession, ich würde mich freuen, Ihren Vorschlag zu versuchen, aber wo ändert sich etwas? – toto