【问题标题】:Load mp3 in UIWebView在 UIWebView 中加载 mp3
【发布时间】:2014-07-18 15:31:39
【问题描述】:

我有一个从 base64 NSString 获得的 NSData

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)使用相同的过程,并且效果很好。

想法?

【问题讨论】:

    标签: ios objective-c ipad uiwebview nsdata


    【解决方案1】:

    最近遇到这样的情况,查了很多。最后我找到了两种方法。

    1. 最好的方法:只需使用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];    
      
    2. 如果您真的想使用 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
    

    但我个人更喜欢启用自动播放的第一个解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-04
      • 2012-08-09
      • 2011-09-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多