我需要在iOS中呈现音频或视频内容。
不幸的是,我没有收到音频/视频作为网址,而是作为NSData
收到内容类型(MIME类型)。
使用UIWebView
时似乎loadData:MIMEType:textEncodingName:baseURL:
无法正常播放音频/视频数据
只有在使用loadRequest:
时(感谢Apple为这个出色的控制器)
所以我想将NSData保存到临时文件,但我没有文件扩展名(只是MIME类型)。
实现这一目标的最佳方法是什么? 也许使用其他一些iOS控件实现音频/视频播放器?
提前致谢。
答案 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。