`
tank2308635
  • 浏览: 191611 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

(转)音频/音效/视频播放(利用Cocos2D-iPhone-Extensions嵌入Cocos2d进行视频播放!)

 
阅读更多

 

Himi  原创, 欢迎转载,转载请在明显处注明! 谢谢。

 

 

 

             原文地址:http://blog.csdn.net/xiaominghimi/article/details/6870259


            自从Himi书籍《Android游戏编程之从零开始》一书上市到现在大概也有一个月时间了,销量不错,感谢大家一直的支持!

            还不知道这本书的童鞋可以如下连接阅读:

            百度百科连接:http://baike.baidu.com/view/6513437.htm

            本博客书籍地址连接: http://blog.csdn.net/xiaominghimi/article/details/6802444


            那么今天Himi为大家讲解如何在cocos2d中视频、音乐、音效的播放教程;

   首先介绍音乐、音效的播放:

              音频与音效的播放很简单,毕竟cocos2d引擎为我们封装好了这一切,直接上代码:

 

  1. //----------------音乐相关  
  2. //加载音乐  
  3. +(void)loadBgMusic{  
  4.     //    [[SimpleAudioEngine sharedEngine] preloadBackgroundMusic:@"himi.caf"];   
  5. }  
  6. //播放背景音乐  
  7. +(void)playBgMusic:(NSString*)fileName{  
  8.     [[SimpleAudioEngine sharedEngine] playBackgroundMusic:fileName];  
  9. }  
  10. //暂停背景音乐  
  11. +(void)pauseBgMusic{  
  12.     [[SimpleAudioEngine sharedEngine] pauseBackgroundMusic];   
  13. }  
  14. //继续播放背景音乐  
  15. +(void)resumeBgMusic{  
  16.     [[SimpleAudioEngine sharedEngine] resumeBackgroundMusic];  
  17. }  
  18. //停止背景音乐  
  19. +(void)stopBgMusic{  
  20.     [[SimpleAudioEngine sharedEngine] stopBackgroundMusic];  
  21. }  
  22. //----------------音效相关  
  23. //提前加载音效  
  24. +(void)loadEffectMusic{  
  25.     //  [[SimpleAudioEngine sharedEngine] preloadEffect:@"himi.caf"];  
  26. }  
  27. //播放背景音效  
  28. +(void)playEffectMusic{  
  29.     //  [[SimpleAudioEngine sharedEngine] playEffect:@"himi.caf"];   
  30. }  



 

 

需要注意的是:

               1.在播放背景音乐与音效之前都要提前加载,毕竟为了防止加载消耗时间发生与游戏不同步;

               2.播放背景音乐的时候,即使切换背景音乐也不用管,coco是d会暂停之前的播放最新的;

               3.别忘记导入#import "SimpleAudioEngine.h"

 

     视频的播放:

                关于在cocos2d中进行视频的播放,我想很多童鞋为之烦恼。。。原因是cocos2d本身的引擎中并没有封装,所以很多童鞋最终被迫选用ios sdk中的MPMoviePlayerController;但是Himi研究过后发现,虽然cocos2d本身引擎并没有封装视频播放,但是cocos2d有一个扩展库“ Cocos2D-iPhone-Extensions”,Cocos2D-iPhone-Extensions中除了支持cocos2d的视频播放还附带其他的支持,例如菜单、滚动layer等等,那么本章就不多介绍了,主要介绍Cocos2D-iPhone-Extensions带给我们的视频播放扩展类:CCVideoPlayer 【Cocos2D-iPhone-Extensions 类库本章最后放出下载连接!】

                 大致介绍后,下面我们来具体介绍如何利用扩展包在cocos2d项目中进行视频播放!

      步骤一: 将下载后的Cocos2D-iPhone-Extensions包解压,然后找到Extensions/CCVideoPlayer文件夹,将CCVideoPlayer下的iOS包与“CCVideoPlayer.h”和"CCVideoPlayer.m"导入我们的项目中;如下图:

              

              

    

    步骤二:添加ios sdk中的MediaPlayer框架(真机调试程序可略过此步)

          点击项目,然后选择-targets-Build Phases页面,然后展开“Link Binary With Libraries”,最后点击“+”号将 “MediaPlayer.framework”添加即可;如下图:

               

      注意:  因为我的Xcode是4.1的版本,所以这里添加框架部分可能有些不一样;(貌似低版本的直接可以在项目下的Frameworks右键添加即可);

     

  步骤三:修改需要播放视频的layer类,这里拿HelloWorldLayer举例

           在”HelloWorldLayer.h"类中,导入#import "CCVideoPlayer.h",然后让HelloWorldLayer使用协议<CCVideoPlayerDelegate>;

           在“HelloWorldLayer.m”类中,在init方法中添加初始化vedeoPlayer的方法:

 

  1. [CCVideoPlayer setDelegate: self];  


          然后在“HelloWorldLayer.m”类中重写如下函数:

 

 

  1. - (void) moviePlaybackFinished  
  2. {  
  3.     CCLOG(@"moviePlaybackFinished");  
  4. }  
  5.   
  6. - (void) movieStartsPlaying  
  7. {  
  8.     CCLOG(@"movieStartsPlaying");  
  9. }  
  10.   
  11. #ifdef __IPHONE_OS_VERSION_MAX_ALLOWED  
  12. // Updates orientation of CCVideoPlayer. Called from SharedSources/RootViewController.m  
  13. - (void) updateOrientationWithOrientation: (UIDeviceOrientation) newOrientation  
  14. {  
  15.     CCLOG(@"updateOrientationWithOrientation");  
  16.     [CCVideoPlayer updateOrientationWithOrientation:newOrientation ];  
  17. }  
  18. #endif  



 


      到此添加的就完成了,但是如果此时你编译会发现有一处错误,就是在扩展库的”CCVideoPlayer.m”类中还要将下面这句注视掉:

 

 

  1. #import "CCVideoPlayerImplMac.h"  


    因为扩展库也支持mac的视频播放,我们做ios肯定不需的,直接屏蔽删除即可;

 


OK,下面给出简单的两个常用的播放视频的方法:

 

  1. [CCVideoPlayer playMovieWithFile: @"himi.mp4"];//播放视频  
  2. [CCVideoPlayer setNoSkip: YES];//视频是否可以跳过  


        好啦,由于cocos2d中直接播放视频的文章极少,绝大部分童鞋虽然大概知道这个扩展库但是不知道具体如何使用,所以今天Himi放出这篇博文,希望大家能及时看到;

 

        OK,继续忙了,感谢大家的支持!

           cocos2d-iphone-extensions-v0.1.3 下载地址:http://download.csdn.net/detail/xiaominghimi/3680814

分享到:
评论

相关推荐

    iOS游戏应用源代码——cocos2d-cocos2d-iphone-extensions.zip

    6. **性能优化**:cocos2d-iphone利用OpenGL ES进行图形渲染,确保在iOS设备上高效运行。 7. **扩展性**:正如压缩包名所示,cocos2d-iphone有许多社区开发的扩展,如菜单(Menu)、粒子系统(Particle System)、...

    cocos2d-iphone-2.0.tar.gz

    Cocos2d-iPhone是一个广泛使用的2D游戏开发框架,专为iOS设备(如...如果你解压并探索"cocos2d-iphone-2.0"目录,你会找到源代码、示例项目、文档和其他资源,这些都是学习和利用这个框架进行游戏开发的重要资料。

    Cocos2d-x实战:JS卷——Cocos2d-JS开发

    资源名称:Cocos2d-x实战:JS卷——Cocos2d-JS开发内容简介:本书是介绍Cocos2d-x游戏编程和开发技术书籍,介绍了使用Cocos2d-JS中核心类、瓦片地图、物理引擎、音乐音效、数据持久化、网络通信、性能优化、多平台...

    cocos2d-iphone~cocos2d-html5移植之旅

    ### cocos2d-iphone至...总之,《cocos2d-iphone至cocos2d-html5移植之旅》不仅是一本技术手册,更是一次实践的记录,它鼓励着每一位开发者勇敢地探索未知领域,利用现有的工具和知识,在新的平台上实现创意和梦想。

    IOS应用源码之cocos2d-cocos2d-iphone-extensions-v0.2-0-ge42002b.zip

    【标题】"IOS应用源码之cocos2d-cocos2d-iphone-extensions-v0.2-0-ge42002b.zip" 提供的是Cocos2D-iPhone扩展的源代码,版本号为v0.2-0-ge42002b。Cocos2D是一款广泛使用的2D游戏开发框架,它基于Objective-C语言,...

    Cocos2d-x实战 JS卷 Cocos2d-JS开发

    6. **音频和音乐**:介绍如何在Cocos2d-x中播放背景音乐和音效,以及音乐的控制和管理。 7. **网络与存储**:讨论如何进行网络通信,如下载更新、保存和读取游戏数据。 8. **性能优化**:提供关于代码优化、内存...

    Cocos2d-x 3.x游戏开发实战pdf含目录

    本书会介绍Cocos2d-x的音频API,包括音乐播放、音效处理以及音效资源的加载和管理。 此外,书中还会涉及用户输入处理、触摸事件、键盘事件的响应,以及如何实现游戏的交互功能。对于网络编程,Cocos2d-x提供了网络...

    Cocos2d-x实战:C++卷(2版)源代码

    6. **声音与音乐**:Cocos2d-x支持音频播放,包括背景音乐和音效,可以实现音效的同步和控制。 7. **资源管理**:有效管理和加载图片、音频、字体等资源是游戏开发的关键,Cocos2d-x提供了资源管理工具和缓存机制。...

    cocos2d-x-cocos2d-x-2.2.2.zip

    在cocos2d-x 2.2.2中,开发者可以利用C++语言进行编程,同时也支持Lua和JavaScript作为脚本语言,这大大增加了开发的灵活性。C++的性能优势结合脚本语言的易用性,使得游戏的开发过程既高效又便捷。同时,cocos2d-x...

    经典版本 方便下载 源码 旧版本 3.8 官网找不到了 cocos2d-x-3.8.zip

    8. **Audio支持**:支持音频播放和音效处理,方便游戏中的音乐和声音效果实现。 9. **脚本支持**:通过tolua++和jsb,开发者可以选择使用Lua或JavaScript进行游戏逻辑编写,降低开发门槛。 10. **资源管理**:内置...

    Cocos2d-x实战C++卷关东升著完整版pdf

    同时,音效和音乐管理也是游戏体验的重要组成部分,书中会介绍如何使用Cocos2d-x的音频API来播放和控制音频资源。 在实际项目开发中,内存管理和性能优化是关键。本书可能会详细讲解Cocos2d-x中的内存管理机制,如...

    cocos2d-x-3.1.zip

    8. **音频支持**:支持播放背景音乐和音效,提供了简单的音频API。 9. **资源管理**:使用ResourceManager来加载和管理游戏资源,如图片、音频、字体等。 10. **性能优化**:Cocos2d-x 3.1对内存管理和渲染效率...

    cocos2d-x windows vs2010配置

    "cocos2d-x windows vs2010 配置详解" 本文将详细介绍如何在 Windows 环境下使用 Visual Studio 2010 配置 Cocos2d-x 游戏引擎。Cocos2d-x 是一个跨平台的游戏引擎,可以在多种平台上运行,包括 Windows、Mac OS X...

    cocos2d-x-3.13.1 spine3.6.zip

    在3.13.1版本中,Cocos2d-x对Spine动画引擎的集成进行了更新,这是一项重要的改进,极大地提升了2D游戏中的角色动画表现力。 Spine是一款强大的骨骼动画工具,特别适合于制作2D游戏中的角色动画。它的3.6版本引入了...

    Cocos2d-JS游戏开发

    Cocos2d-JS是一款强大的2D游戏开发框架,它结合了JavaScript的灵活性与Cocos2d-x的高效性能,让开发者能够轻松地创建跨平台的游戏。本篇将深入探讨Cocos2d-JS的游戏开发知识,从基础到进阶,帮助你掌握这一利器。 ...

    cocos2d-iphone-extensions-v0.1.3-Himi-ios-视频-iphone

    cocos2d-iphone-extensions-v0.1.3-Himi-ios-...【Cocos2d游戏开发之十四】音频与音效播放以及利用+Cocos2D-iPhone-Extensions嵌入Cocos2d进行视频播放! http://blog.csdn.net/xiaominghimi/article/details/6870259

    cocos2d-x_v3.16安装及环境变量配置文档

    cocos2d-x 是一个开源的游戏开发框架,使用 C++ 语言编写,支持多平台发布,包括 iOS、Android、Windows、macOS、Linux 和 Web。cocos2d-x v3.16 是该框架的一个版本号,本文档主要介绍了该版本的安装流程以及环境...

    Cocos2d-x实战++JS卷++Cocos2d-JS开发+PDF电子书下载+带书签目录+完整

    3. Cocos2d-JS开发:这里强调的是使用Cocos2d-x框架结合JavaScript语言进行开发的过程。由于Cocos2d-x支持多种编程语言(包括C++、JavaScript和Lua),Cocos2d-JS意味着开发者可以采用JavaScript来构建游戏项目。 4...

    cocos2d-x 动画工具 Flash2Cocos2d-x 1.3

    《cocos2d-x 动画工具 Flash2Cocos2d-x 1.3:将Flash创意带入移动游戏开发》 在移动游戏开发领域,cocos2d-x是一款广泛使用的开源游戏引擎,以其高效、跨平台的特性深受开发者喜爱。而Flash2Cocos2d-x则是一个专为...

    cocos2d-x API中文文档

    在Cocos2d-x的家族中,还有其他分支引擎,如Cocos2d-iPhone、Cocos2d-python、Cocos2d-xna等,它们各自支持不同的平台和编程语言,满足不同开发者的需求。例如,Cocos2d-iPhone专注于iOS平台,使用Objective-C或...

Global site tag (gtag.js) - Google Analytics