`
yangping_Account
  • 浏览: 192947 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

一个关于Media Player 跨iPhone版本的问题

 
阅读更多

when Run on Device 3.1.2, why it also pass if(NSClassFromString(@"MPMoviePlayerViewController") != nil) and do code of iOS4 then it will crash , how to fix this issues?
---------------------------------------------
 if(NSClassFromString(@"MPMoviePlayerViewController") != nil) {
                    // iOS 4 code
                    NSLog(@"MPMoviePlayerViewController");
                    MPMoviePlayerViewController *mp = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL URLWithString:AppDelegate.PushLink]];
                    if (mp) {
                        // save the movie player object
                        self.theMovie4 = mp;
                        [mp release];
                        //Present                       
                        [self presentMoviePlayerViewControllerAnimated:self.theMovie4];

                        // Play the movie!
                        self.theMovie4.moviePlayer.movieSourceType = MPMovieSourceTypeStreaming;
                        [self.theMovie4.moviePlayer play];
                    }
                }
                else {
                    //iOS 3 Code
                    AppDelegate = nil;
                    AppDelegate = [[UIApplication sharedApplication] delegate];
                    [AppDelegate ForceHideNavigationBar];
                    theMovie3 = nil;
                    [[NSNotificationCenter defaultCenter] addObserver:self 
                                                             selector:@selector(moviePreloadDidFinish:) 
                                                                 name:MPMoviePlayerContentPreloadDidFinishNotification 
                                                               object:theMovie3];
                    [[NSNotificationCenter defaultCenter] addObserver:self 
                                                             selector:@selector(moviePlayBackDidFinish:) 
                                                                 name:MPMoviePlayerPlaybackDidFinishNotification 
                                                               object:theMovie3];
                    // Register to receive a notification when the movie scaling mode has changed. 
                    [[NSNotificationCenter defaultCenter] addObserver:self 
                                                             selector:@selector(movieScalingModeDidChange:) 
                                                                 name:MPMoviePlayerScalingModeDidChangeNotification 
                                                               object:theMovie3];
                    theMovie3 = [[MPMoviePlayerController alloc] initWithContentURL: [NSURL URLWithString:AppDelegate.PushLink]];
                    [theMovie3 play];
                }
1 Answer
------------------------------------------
- (void) playMovieAtURL: (NSURL*) theURL {
    NSLog(@"playMovieAtURL");
if ([[[UIDevice currentDevice] systemVersion] doubleValue] >= 3.2 ) {
            NSLog(@"> 3.2");
            MPMoviePlayerViewController *mp = [[MPMoviePlayerViewController alloc] initWithContentURL:theURL];
            if (mp)
            {
                // save the movie player object
                //self.moviePlayerViewController = mp;
                //[mp release];
                [self presentMoviePlayerViewControllerAnimated:mp];
                mp.moviePlayer.movieSourceType = MPMovieSourceTypeFile;
                [mp.moviePlayer play];
                [mp release];
            }
        } 
    else if ([[[UIDevice currentDevice] systemVersion] doubleValue] < 3.2) {
            NSLog(@"< 3.2");
            MPMoviePlayerController* theMovie = [[MPMoviePlayerController alloc] initWithContentURL: theURL];
            theMovie.scalingMode = MPMovieScalingModeAspectFill;
            // Register for the playback finished notification
            [[NSNotificationCenter defaultCenter]
             addObserver: self
             selector: @selector(myMovieFinishedCallback:)
             name: MPMoviePlayerPlaybackDidFinishNotification
             object: theMovie];
            // Movie playback is asynchronous, so this method returns immediately.
            [theMovie play];
        }
    }
分享到:
评论

相关推荐

    player-mediacenter 用于安卓DLNA和苹果Airplay的投屏软件

    player-mediacenter 一款用于安卓DLNA和苹果Airplay的投屏软件,对视频音频等媒体进行投屏,占用体积小,功能强大,自用与某讯r1音响,亲测可用

    media player 12

    而"Chiase360.Com_WindowMediaPlayer12Full"可能是一个包含完整版本的Windows Media Player 12的安装文件,用于下载和安装。 总之,Windows Media Player 12 是一个功能丰富的多媒体播放解决方案,适合各种用户需求...

    mediaplayer:免费的开源免费下载HTML5 Media Player,用于视频,音乐,音频,Android,iPhone,FLV,MP4,WEBM

    因为这是第一个完全基于浏览器的应用程序,可以在那里播放每种视频类型。 就像VLC ...一样,但是在浏览器中。 其他两个流行的VLC Media Player和Windows Media Player需要下载。 然后是一堆用于MP4的Javascript...

    iPhone开发进阶.doc

    iPhone OS 由4个主要部分组成。下面简单地罗列一下它们的功能。 Cocoa Touch • 窗口和视图 • 事件管理 • 用户接口 • 加速传感器 • 照相机 Media • Core Graphics(2维图形接口) • Core Animation...

    QuickTime播放器

    QuickTime播放器由于内置了对苹果设备原生视频格式的支持,因此能够解决这个问题,确保在电脑上也能像在iPhone上一样正常播放有声视频。 QuickTime播放器具备以下关键功能和特点: 1. **多格式支持**:除了常见的...

    MPC Remote:Media Player Classic的便携式设备遥控器-开源

    由于内置Web界面的Media Player Classic的遥控器的可用性较差,我去找了一下,但是当我看着它时,它很不整齐,零件坏了,我整理了一下,然后拆下并修复了损坏的零件,在此过程中,我将其更新为最新的mpc api,它在...

    Safari浏览器+QuickTimePlayer

    Windows版本的首个测试版在2007年6月11日推出,支持Windows XP与Windows Vista,在2008年3月18日推出正式版。(目前可支持Windows7系统) QuickTime是苹果公司提供的系统及代码的压缩包,它拥有C和Pascal的编程界面...

    iPhone开发进阶

    - **Media Player (MPEG4, MP3)**:用于播放媒体文件,支持多种格式的音频和视频。 **1.3 Core Services** Core Services层为应用程序提供了更广泛的服务和支持,包括: - **Address Book**:提供对联系人数据的...

    CFClippyRef:它看起来就像您正在编写一种方法! 您想要我为您打开Windows Media Player吗?

    Clippy包包含一个核心磁贴图像(clippymap.png)和JSON(animjson.txt),它们描述了如何从单个磁贴构建动画序列。 这些资源直接来自smore小组的项目。 他们的项目是根据MIT许可发布的。 他们会注意所有Microsoft...

    微软播放器

    微软播放器11(WMP11)作为其一个重要的版本,对用户体验进行了显著提升。它引入了更加现代的界面设计,使得操作更为直观和简洁。在播放功能上,WMP11支持多种常见音频和视频格式,包括但不限于WMV、WMA、MP3、MPEG...

    WowzaMediaServer_UsersGuide

    - **设备兼容性**:提供了关于 Wowza Media Server 支持的设备类型和操作系统的信息,确保用户能够正确选择合适的配置。 #### 六、配置与管理 - **安装与配置**:指导用户完成 Wowza Media Server 的安装过程,并...

    vlc视频直播软件

    Simply the best free multi-format media player If you want to play video or music files in just about any format, VLC media player is probably your answer. This program is also available for iPhone, ...

    DLNA式数字家庭

    比如,苹果iOS平台上的AireVideo应用就是一个很好的例子,它能让用户在iPhone、iPad等设备上无线播放电脑上的视频,无需复制文件。这种技术使得平板电视、高清播放机、智能手机等设备能成为移动媒体终端,实现资源...

    电脑无法打开苹果手机拍摄的照片 HEVC HEIF

    在提供的压缩包文件中,"双击一键安装.cmd"可能是用于自动安装HEVC和HEIF编解码器的脚本,"查看windows规格.lnk"可能指向一个程序或快捷方式,帮助用户检查其Windows系统版本和配置,"常见问题(可先参考处理).png...

    iPhone获取系统摄像头和本地视频库(并且显示)

    接着,我们将创建一个`UIImagePickerController`实例,这是苹果提供的标准组件,用于获取用户的照片和视频。要打开摄像头,设置其`sourceType`为`.camera`: ```swift let imagePickerController = ...

    AirPlay DMR

    用户可以通过安装AirPlay DMR应用程序,将其Android手机或平板变成一个接收端,播放来自iOS设备的媒体流。 2. **程序设置界面** 在初次设置时,用户需要进入应用程序的设置界面,配置网络连接,确保与发送设备在...

    IOS音乐播放器

    【iOS音乐播放器】是一个专为iPhone平台设计的高级音乐播放应用,它不仅支持播放设备上的本地音乐,还具备播放网络音乐以及视频的功能。这款应用的实现涉及了多个iOS开发的关键知识点,包括多媒体处理、网络编程、...

    媒体播放媒体播放器媒体播放器

    1. Windows系统:如Windows Media Player、VLC Media Player、PotPlayer等。 2. macOS系统:如QuickTime Player、VLC、MPlayerX等。 3. Linux系统:如VLC、MPlayer、XBMC/Kodi等。 4. 移动设备:iOS上的iPod、iPhone...

Global site tag (gtag.js) - Google Analytics