如何在iOS中播放NSData音频或视频?

时间:2012-08-08 09:16:13

标签: ios audio video uiwebview nsdata

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

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

使用UIWebView时似乎loadData:MIMEType:textEncodingName:baseURL:无法正常播放音频/视频数据 只有在使用loadRequest:时(感谢Apple为这个出色的控制器)

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

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

提前致谢。

2 个答案:

答案 0 :(得分:0)

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

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

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

}

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

答案 1 :(得分:0)

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

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

MIME-Type - > UTI - >文件扩展名。

可以找到MIME类型到UTI转换的示例here