我从base64 NSData
NSString
NSString * fileBytes = @"...."; //base 64 string
NSData * bytes = [[NSData alloc] initWithBase64EncodedString:fileBytes options:0];
我将NSData
加载到UIWebView
[self.webView loadData:bytes
MIMEType:@"audio/mpeg3"
textEncodingName:@"UTF-8"
baseURL:nil];
但这就是我所看到的
我对许多文件类型(PDF,png,jpg,doc,dock,xls ecc)使用相同的过程,并且工作正常。
想法?
答案 0 :(得分:3)
最近我遇到了这样的情况,我搜索了很多。最后我发现了两种方法。
最好的方法:只需使用MPMoviePlayerController
实现您的代码MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL: myURL];
[player prepareToPlay];
[player.view setFrame: myView.bounds]; // player's frame must match parent's
[myView addSubview: player.view];
// ...
[player play];
如果您真的想使用UIWebView,那么请考虑嵌入式HTML5 <audio>
标记。
<audio controls>
<source src="horse.ogg" type="audio/ogg">
<source src="horse.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
并使用方法
加载HTMLString- (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL
但我个人更喜欢启用自动播放的第一个解决方案。