невозможно воспроизвести аудиофайл из документа? - PullRequest
0 голосов
/ 30 августа 2010

когда я пытаюсь воспроизвести аудио, появляется эта ошибка

2010-08-27 09: 13: 40.466 VoiceRecorder [3127: 207] Ошибка по причине: Операция не может быть завершена.(Ошибка OSStatus -43.)

что это значит

Я физически храню файл в папке «Документ Iphone» и копирую его имя в базу данных

, поэтому, когда бы я ни игралон из базы данных правильно получает путь к файлу

и имя файла из документа и базы данных совпадает идеально, но не может воспроизводиться

2010-08-30 12: 22: 00.592 VoiceRecorder [8140: 207] /Пользователи / Имя пользователя / Библиотека / Поддержка приложений / iPhone Simulator / 4.0.1 / Приложения / 4BF0B5C7-59C9-462F-94EC- 662EBCE8505E / Documents / 30Aug10_12_21_58.aif 2010-08-30 12: 22: 00.593 VoiceRecorder [8140: 207] 30Aug10_12_21_58.aif 30-08-2010, 12: 22: 00.618 VoiceRecorder [8140: 207] Сбой по причине: операция не может быть завершена.(Ошибка OSStatus -43.)

нужен срочный ответ

вот мой код

-(IBAction)playevent{

VoiceRecorderAppDelegate *appDelegate=(VoiceRecorderAppDelegate*)[[UIApplication sharedApplication]delegate];

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [paths objectAtIndex:0];
NSString *fullpath = [documentsDir stringByAppendingPathComponent:appDelegate.filenamefrompath];

NSFileManager *fileManager = [NSFileManager defaultManager];

// Check if the database has already been created in the users filesystem
BOOL success = [fileManager fileExistsAtPath:fullpath];

// If the database already exists then return without doing anything
if(success) { NSLog(@"Yes exists"); }else{ NSLog(@"no"); }


//return [documentsDir stringByAppendingPathComponent:appDelegate.filenamefrompath];
NSError* err;
NSLog(@"%@",fullpath);
player = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:fullpath] error:&err];


//NSString *filePath = [[NSBundle mainBundle] pathForResource:appDelegate.filenamefrompath ofType:@"aif"];

// NSURL * fileURL = [[NSURL alloc] initFileURLWithPath: filePath];// player = [[AVAudioPlayer alloc] initWithContentsOfURL: fileURL error: nil];

NSLog(@"%@",appDelegate.filenamefrompath);
player.delegate = self;

if( err ){
    //bail!
    NSLog(@"Failed with reason: %@", [err localizedDescription]);
}


[player play];

}

Пожалуйста, проверьте мой код на наличие ошибки

1 Ответ

0 голосов
/ 30 августа 2010

Код выглядит нормально на поверхности

Странно отследить определения ошибок не совсем легко

Они находятся в MacErrors.h

fnfErr = -43, /*File not found*/

Можете ли вы проверить, что URL, который вы вводите игроку [NSURL fileURLWithPath:fullpath], действителен.

И что еще важнее, файл, который вы пытаетесь воспроизвести там, в папке Sim?

и не по теме, если предполагается, что это IBAction, тогда подпись должна быть
-(IBAction)playevent:(id)sender

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...