最近老板要求iPhone可以播放在线音乐和视频,本想和windows mobile下一样,扔一个地址就完全可以扔给IE来做了,可是发现这些iPhone下是行不通的。
1.iPhone对于视频和音乐的下载有限制,不像wm有文件系统,扔地址给IE后可以下载保存在本地,iPhone只能保存图片(API中用UIImageWriteToSavedPhotosAlbum来实现),但是对于视频和音乐只能在线播放。
2.那本想直接就扔地址给safria吧,还好iPhone下有openurl来打开网址。可是发现又有其他问题,老板想在一个区域内搭建一个局域网,iPhone进去这个区域后用wifi连接上这个局域网,就可以播放局域网中的东西了,发现在OS3.0下直接扔地址给safria是可以播放的,可是OS3.0以下的版本就不行了。
3.还好通过NSURLConnection还可以把网上的数据下载下来(要是连这个都不行,那就只能个屁了),于是乎就想自己播放。在网上找到一个方法,就是加载一个UIWEBVIEW,把其FRAME设置成,0,0,1,1,即隐藏起来,然后把地址扔进去,确实方便,于是乎先下载,再保存在临时文件里面,再加载进去,发现OS3.0可以,2.2不行。估计还是UIWEBVIEW是safria的组成部分,应该也是有同样的限制吧。
4.那这些通通不要,直接用API算了,在cocoachina上询问后,用了MPMoviePlayerController终于可以播放了,但是要注意两点:(1)首先要加个MediaPlayer.framework
(2)mp4需要转换成iphone的格式(我使用的是Xilisoft Video Converter 3)
至此终于搞定了,不知道老板今后还有什么新花招没!!!
越发感觉微软的方便啊!!