3

我需要在 iOS 中呈现音频或视频内容。

不幸的是,我没有收到作为 URL 的音频/视频,而是NSData与内容类型(MIME 类型)一样。

仅在使用时似乎UIWebView无法正确播放音频/视频数据(感谢Apple提供的出色控制器)loadData:MIMEType:textEncodingName:baseURL:loadRequest:

所以我想将 NSData 保存到一个临时文件,但我没有文件扩展名(只是 MIME 类型)。

实现这一目标的最佳方法是什么?也许使用其他一些 iOS 控件实现音频/视频播放器?

提前致谢。

4

2 回答 2

0

制作一个将 MIME 类型映射到合适的扩展名的方法

-(NSString *)getExtenstionFromMimeType:(NSString *)mimeType
{

   if ( [mimeType isEqualToString:@""video/mp4"] )
       return @"mp4"; 
   else if  ( ..... ) 
         and so on 

}

您还可以使用 MPVideoPlayerController 播放音频视频,但您还需要将源媒体作为 url 或本地文件路径

于 2012-08-08T09:25:15.647 回答
0

如果有人想知道这里是解决方案:

您需要使用 在名为 MobileCoreServices 的框架中声明的UTType 函数。基本思路是从 MIME 类型中获取 UTI,然后从 UTI 中获取扩展名:

MIME 类型 --> UTI --> 文件扩展名。

可以在此处找到 MIME-Type 到 UTI 转换的示例。

于 2012-08-19T10:47:06.267 回答