2012-03-12 172 views
0

我試圖播放一個MP3音頻文件,該文件將上傳到用戶在Web服務器上,我會得到該文件的URL,然後我必須播放該文件但我沒有成功。這裏是我的代碼iphone dev的mp3文件不使用AV音頻播放器

NSURL * url = [NSURL URLWithString:url1]; NSData * theData = [NSData dataWithContentsOfURL:url]; newPlayer = [[AVAudioPlayer alloc] initWithData:theData error:nil]; [newPlayer play];

的網址是這樣

http://mqm.designers99.com/Notification/mp3_files/1331551313_1919.mp3

PLZ。引導我,因爲我在這裏卡住了,感謝名單並把

+0

P.s.你不需要'-initWithData:error:'實例方法,你可以使用'-initWithContentsOfURL:error:' – basvk 2012-03-12 12:30:52

+0

你要部署哪些iOS版本? – basvk 2012-03-12 12:57:26

+0

沒有運氣,而是它顯示此錯誤的操作無法完成(OSStatus -43) – 2012-03-12 13:22:01

回答

1

嘗試「閱讀」的錯誤:

NSURL *url = [NSURL URLWithString:url1]; 
NSData *theData = [NSData dataWithContentsOfURL:url]; 
NSError *error = nil; 
newPlayer = [[AVAudioPlayer alloc] initWithData:theData error:&error]; 
if (error == nil) { 
    NSLog(@"AVAudioPlayer start playing"); 
    [newPlayer play]; 
} else { 
    NSLog(@"%@", error); 
} 

任何「運氣」?

+0

好吧,我會嘗試 – 2012-03-12 12:29:09

+0

沒有我顯示錯誤爲[錯誤localizedDescription ]在警報中,即使該警報不顯示 – 2012-03-12 13:13:56

+0

而是它顯示此錯誤操作無法完成(OSStatus -43) – 2012-03-12 13:21:42

0

包括AVFoundation和AudioToolBox構架

進口頭在.h文件中這一框架

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

實例化AVAudioPlayer,

AVAudioPlayer *player 

使用此代碼戲audio.It的工作罰款我

NSString *[email protected]"http://mqm.designers99.com/Notification/mp3_files/1331551313_1919.mp3"; 

url1=[url1 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];//Encode your url 

NSLog(@"after encoding========:%@",url1); 
NSURL *url = [NSURL URLWithString:url1]; 
NSData *theData = [NSData dataWithContentsOfURL:url]; 
player = [[AVAudioPlayer alloc] initWithData:theData error:nil]; 
[player play]; 

編輯:沒有編碼你給的網址也打得很好。

+0

無需對URL進行編碼,也不需要導入AudioToolbox框架。 – basvk 2012-03-12 12:33:17

+0

@basvk:你好我現在被編輯.. – iphonecool 2012-03-12 12:37:19

+0

我已經做到了,仍然沒有成功:(。 – 2012-03-12 12:43:28