what mobs edition descargar crafting objective-c ios xcode audio

objective-c - mobs - wiki minecraft pe



Play Audio iOS Objective-C (6)

Estoy tratando de reproducir un archivo de audio en mi aplicación iOS. Este es mi código actual

NSString *soundFilePath = [NSString stringWithFormat:@"%@/test.m4a", [[NSBundle mainBundle] resourcePath]]; NSLog(@"%@",soundFilePath); NSURL *fileURL = [[NSURL alloc] initFileURLWithPath: soundFilePath]; audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:nil]; [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil]; [[AVAudioSession sharedInstance] setActive: YES error: nil]; [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; [audioPlayer setVolume:1.0]; audioPlayer.delegate = self; [audioPlayer stop]; [audioPlayer setCurrentTime:0]; [audioPlayer play];

He estado revisando un montón de otras publicaciones, pero todas generalmente hacen lo mismo. No recibo un error, pero no escucho ningún audio en el simulador o dispositivo.

Esta es la ruta que obtengo para el archivo de audio en el simulador

/Users/username/Library/Application Support/iPhone Simulator/5.1/Applications/long-numbered-thing/BookAdventure.app/test.m4a

¡Cualquier ayuda es apreciada!


Necesita almacenar una referencia fuerte a ''AVAudioPlayer''

@property (strong) AVAudioPlayer *audioPlayer;

Y si está seguro de que su archivo de audio está en Bundle Resources, debería reproducirse.

Proyecto> Fases de compilación> Copiar


Para reproducir el archivo de audio del paquete utilizando el código siguiente si genera el ID de sonido del sistema

for(int i = 0 ;i< 5;i++) { SystemSoundID soundFileObject; NSString *audioFileName = [NSString stringWithFormat:@"Alarm%d",i+1]; NSURL *tapSound = [[NSBundle mainBundle] URLForResource: audioFileName withExtension: @"caf"]; // Store the URL as a CFURLRef instance CFURLRef soundFileURLRef = (__bridge CFURLRef) tapSound; // Create a system sound object representing the sound file. AudioServicesCreateSystemSoundID ( soundFileURLRef, &soundFileObject ); [alarmToneIdList addObject:[NSNumber numberWithUnsignedLong:soundFileObject]]; }

Puedes reproducir el sonido usando el código debajo

AudioServicesPlaySystemSound([[alarmToneIdList objectAtIndex:row]unsignedLongValue]);

Para lograr este marco a continuación, necesita agregar en su Xcode

AudioToolbox

Por último, debajo de los archivos de encabezado se debe importar en el controlador

#import AudioToolbox/AudioToolbox.h #import AudioToolbox/AudioServices.h


Primero importa este marco a tu archivo

#import <AVFoundation/AVFoundation.h>

A continuación, declare una instancia de AVAudioPlayer .

AVAudioPlayer *audioPlayer; NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@"Name of your audio file" ofType:@"type of your audio file example: mp3"]; NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath]; audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:soundFileURL error:nil]; audioPlayer.numberOfLoops = -1; [audioPlayer play];


Tal vez deberías intentar usar el método pathForResource:ofType: method para crear la ruta al archivo.

El siguiente código debería reproducir con éxito un archivo de audio. Solo lo he usado con un mp3 , pero me imagino que también debería funcionar con m4a . Si este código no funciona, puede intentar cambiar el formato del archivo de audio. Para este código, el archivo de audio se encuentra en el directorio principal del proyecto.

/* Use this code to play an audio file */ NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"m4a"]; NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath]; AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:soundFileURL error:nil]; player.numberOfLoops = -1; //Infinite [player play];

EDITAR

Bien, intenta esto:

NSString *soundFilePath = [NSString stringWithFormat:@"%@/test.m4a",[[NSBundle mainBundle] resourcePath]]; NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath]; AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:soundFileURL error:nil]; player.numberOfLoops = -1; //Infinite [player play];

Además, asegúrese de hacer las importaciones adecuadas:

#import <AudioToolbox/AudioToolbox.h> #import <AVFoundation/AVFoundation.h>


Actualizado para Swift 4 Reproducción desde el paquete principal: solo iOS 11

import AVFoundation var player: AVAudioPlayer?

El siguiente código carga el archivo de sonido y lo reproduce, devolviendo un error si es necesario.

guard let url = Bundle.main.url(forResource: "test", withExtension: "m4a") else { return } do { try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback) try AVAudioSession.sharedInstance().setActive(true) guard let player = player else { return } player.play() } catch let error { // Prints a readable error print(error.localizedDescription) }


Para reproducir archivos con la extensión .caf, .m4a, .mp4, .mp3, .wav, .aif

Descarga los siguientes dos archivos de GitHub

SoundManager.h SoundManager.m

Agregue estos archivos a su proyecto

También agregue archivos de audio a la carpeta de recursos ( archivos de muestra )

mysound.mp3, song.mp3

Importar archivo de encabezado en el archivo deseado

#import "SoundManager.h"

Y agregue las siguientes dos líneas en - (void) viewDidLoad

[SoundManager sharedManager].allowsBackgroundMusic = YES; [[SoundManager sharedManager] prepareToPlay];

Use la siguiente línea para reproducir el sonido (mysound.mp3)

[[SoundManager sharedManager] playSound:@"mysound" looping:NO];

Use la siguiente línea para detener el sonido (mysound.mp3)

[[SoundManager sharedManager] stopSound:@"mysound"];

También puedes reproducir música (song.mp3) como

[[SoundManager sharedManager] playMusic:@"song" looping:YES];

Y se puede detener la música como

[[SoundManager sharedManager] stopMusic];

La documentación completa está en GitHub