0

我正在尝试为 iPad 创建一个简单的应用程序,当您单击按钮时会播放 FLV。我使用来自http://developer.apple.com/iphone/library/codinghowtos/AudioAndVideo/index.html#VIDEO-USE_THE_MEDIA_PLAYER_FRAMEWORK_FOR_VIDEO_PLAYBACK的代码作为参考。这是我的点击事件的代码

-(IBAction) btnPlayVideoClick:(id) sender { 
 NSString* videoPath = [[NSBundle mainBundle] pathForResource:@"myVideo" ofType:@"flv"];    

 MPMoviePlayerController* myMovie = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL URLWithString:videoPath]];
 myMovie.scalingMode = MPMovieScalingModeAspectFill;


 // Register for the playback finished notification.

 [[NSNotificationCenter defaultCenter] addObserver:self
            selector: @selector(myMovieFinishedCallback:)
             name:MPMoviePlayerPlaybackDidFinishNotification
              object:myMovie];
 [myMovie play];

}


-(void)myMovieFinishedCallback:(NSNotification*)aNotification 
{
    MPMoviePlayerController* theMovie=[aNotification object]; 
    [[NSNotificationCenter defaultCenter] removeObserver:self 
                                                    name:MPMoviePlayerPlaybackDidFinishNotification 
                                                  object:theMovie]; 

    // Release the movie instance created in playMovieAtURL
    [theMovie release]; 
}

我能够成功编译和运行该应用程序,但是当我单击该按钮时,该应用程序将退出,没有任何错误消息或任何活动。是我做错了什么,还是因为某些原因我无法使用模拟器播放 FLV。我还不能在真实设备上进行测试,因为我正在等待获得开发许可证的批准。

谢谢,

麦克风

4

3 回答 3

6

iOS 设备没有 Flash,因此您无法播放任何 Flash 视频。

于 2010-07-27T16:18:13.010 回答
1

iOS 没有正确的编解码器来播放 FLV。它需要重新编码为 .mp4 或 .mov 文件。iOS实际上可以玩的东西。我没有尝试阅读您的代码以查看它是否有效。这只是我注意到的第一件事是“不正确”。

于 2010-07-27T16:17:52.123 回答
0

看到您已经解决了 Flash 问题,我看到的下一个问题是您似乎没有将播放器视图放在任何地方。您要么需要将视图放在层次结构中的某个位置,要么设置 myPlayer.fullscreen = TRUE; 在不了解您的观点的情况下,我无法为您提供嵌入它的建议,但请查看 Apple 提供的这段示例代码,了解他们是如何做到的:http: //developer.apple.com/iphone/library/documentation/mediaplayer /reference/MPMoviePlayerController_Class/MPMoviePlayerController/MPMoviePlayerController.html#//apple_ref/doc/uid/TP40006953-CH3-DontLinkElementID_1

于 2010-07-28T00:01:49.187 回答