Quel est le moyen le plus simple de lire un fichier de musique tel que MP3 avec le bouton Pause? Très très simple, un bouton de jeu et un autre bouton met en pause cette musique p>
8 Réponses :
Ce sont les codes des actions demandées, AppsoundPlayer est une propriété d'Avaudioplayer déclaré dans le fichier h. Cet exemple joue également une chanson dans le dossier de ressources.
#pragma mark - #pragma mark *play* - (IBAction) playaction { NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@"songname" ofType:@"mp3"]; NSURL *newURL = [[NSURL alloc] initFileURLWithPath: soundFilePath]; self.soundFileURL = newURL; [newURL release]; [[AVAudioSession sharedInstance] setDelegate: self]; [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryAmbient error: nil]; // Registers the audio route change listener callback function AudioSessionAddPropertyListener ( kAudioSessionProperty_AudioRouteChange, audioRouteChangeListenerCallback, self ); // Activates the audio session. NSError *activationError = nil; [[AVAudioSession sharedInstance] setActive: YES error: &activationError]; AVAudioPlayer *newPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL: soundFileURL error: nil]; self.appSoundPlayer = newPlayer; [newPlayer release]; [appSoundPlayer prepareToPlay]; [appSoundPlayer setVolume: 1.0]; [appSoundPlayer setDelegate: self]; [appSoundPlayer play]; [stopbutton setEnabled:YES]; [playbutton setEnabled: NO]; playbutton.hidden=YES; pausebutton.hidden =NO; }//playbutton touch up inside #pragma mark - #pragma mark *pause* -(IBAction)pauseaction { [appSoundPlayer pause]; pausebutton.hidden = YES; resumebutton.hidden = NO; }//pausebutton touch up inside #pragma mark - #pragma mark *resume* -(IBAction)resumeaction{ [appSoundPlayer prepareToPlay]; [appSoundPlayer setVolume:1.0]; [appSoundPlayer setDelegate: self]; [appSoundPlayer play]; playbutton.hidden=YES; resumebutton.hidden =YES; pausebutton.hidden = NO; }//resumebutton touch up inside #pragma mark - #pragma mark *stop* -(IBAction)stopaction{ [appSoundPlayer stop]; [playbutton setEnabled:YES]; [stopbutton setEnabled:NO]; playbutton.hidden=NO; resumebutton.hidden =YES; pausebutton.hidden = YES; }//stopbutton touch up inside
Avez-vous un exemple de code de ce tutoriel?
Ces erreurs sont leur raison pour que vous ne les ai pas déclarés dans le fichier h.
Ce code a-t-il fonctionné pour la nsurl ... jouer au tampon audio de serveur?
Eh bien ici est un bon tutoriel disponible.
Le thème est p> et lorsque vous souhaitez mettre en pause; p> espère que cela aide. P> < / p>
merci beaucoup j'aime Stackoverflow.com et bien sûr: D
Ok, j'ai un peu de problème à nouveau. Lorsque je touche le bouton de lecture plusieurs fois, la musique joue dessus et sur ... !! Comment jouer de la musique 1 fois? et sur le bouton de pause, qui le travaille? désolé iam amateur:
Pour des sons courts ou lorsque le MP3 ne joue pas bien sur le code suggéré, vous pouvez toujours utiliser:
#import <AudioToolbox/AudioToolbox.h>
Merci, travaillé pour moi. Avec arc: audioservicesCreatsystemsoundidid ((__ pont cfurlref) URL, & SOUNDID);
the OALTOUCH exemple de code sur la pomme Le site Web du développeur iOS fait ce que vous voulez et est prêt à courir. P>
Il montre également comment tester si une autre application (par exemple, iPod) joue déjà un fichier, qui est pratique si vous souhaitez autoriser vos utilisateurs à écouter leur propre musique au lieu de vous. P>
API Dirac est gratuit et assez facile à utiliser. Nous l'avons utilisé dans mon explication de robot parlant http://itunes.apple.com/us / app / daidai / ID484833168 et cela m'a été étonnant de savoir comment il réussit à changer la vitesse et la hauteur de la voix p>
J'ai bien peur que la réponse indiquée ne fonctionne plus dans iOS 7 et plus. Vous devrez utiliser le code suivant:
afin de gérer les méthodes de délégation comme lorsque le jeu de l'audio a terminé. AudioplayerdidfinishPlaying :, hériter d'AvaudioplayerDelegate. P> NSString *soundFilePath = [[NSBundle mainBundle] pathForResource: resourceName
ofType: @"mp3"];
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath: soundFilePath];
AVAudioPlayer *newPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL: fileURL
error: nil];
_player = newPlayer;
[_player prepareToPlay];
[_player setDelegate: self];
[_player play];
J'aime le code simple et voici ma solution: (N'oubliez pas d'ajouter un bouton de commutateur pour obtenir la musique de musique. Amusez-vous)
#import "ViewController.h" #import <AVFoundation/AVFoundation.h> @interface ViewController () { NSURL* bgURL; AVAudioPlayer* bgPlayer; } @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. bgURL = [[NSURL alloc] initFileURLWithPath: [[NSBundle mainBundle] pathForResource:@"sample" ofType:@"mp3"]]; bgPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:bgURL error:nil]; } #pragma mark AVAudioPlayer - (IBAction)toggleMusic:(UISwitch*)sender { NSLog(@"togging music %s", sender.on ? "on" : "off"); if (bgPlayer) { if (sender.on) { [bgPlayer play]; } else { [bgPlayer stop]; } } }