Cocos2d-x 3.0心得(04)
用cocos2dx播放音乐音效算是很简单的事了,没什么特殊需求的话,用SimpleAudioEngine就可以搞定。不过特殊需求总是会出现的。要是你经常听歌,应该会有印象,某些播放器在切换音乐的时候,正在播放的音乐会逐渐淡出直到消失,然后才会播放新的音乐。如果想在
用cocos2dx播放音乐音效算是很简单的事了,没什么特殊需求的话,用SimpleAudioEngine就可以搞定。不过特殊需求总是会出现的。要是你经常听歌,应该会有印象,某些播放器在切换音乐的时候,正在播放的音乐会逐渐淡出直到消失,然后才会播放新的音乐。如果想在游戏里也实现类似的效果,光靠SimpleAudioEngine是不够的。
cocos2dx里面的音频管理分3个层次,从高到低是SimpleAudioEngine、CDAudioManager、CDSoundEngine。当然这是官方的说法。通常一旦你用到了CDAudioManager,那么你基本上也得使用CDSoundEngine,因为CDAudioManager主管BGM,CDSoundEngine主管音效。另外比较遗憾的是,CDAudioManager和CDSoundEngine只能在iOS上使用。当然你可以写两套代码,在iOS上实现炫酷的音频效果,其他平台就只能soso了。
CDAudioManager是用来管理BGM的,这从它所包装的音频对象类名CDLongAudioSource就可以看出来,“长音频源”,没什么比BGM更合适了。而CDLongAudioSource实际是对AVAudioPlayer的包装,AVAudioPlayer是一个不折不扣的iOS原生类,所以你明白为什么CDAudioManager只能在iOS上用了。
CDLongAudioSource本身还算通俗易懂,加载、播放、暂停、循环、控制音量,该有的接口一应俱全。
CDAudioManager包含了一个CDLongAudioSource数组,这个数组在内部设定了固定长度为2。这意味着如果使用CDAudioManager,我们可以同时播放两首BGM。。。嗯,这不是说我们真的要同时放两首音乐,这是用来做其他效果的。比如说,当你准备换音乐的时候,让第一首淡出,同时第二首淡入,这一小段时间里,两首音乐是同时存在的,听起来的效果就是从第一首无缝切换到第二首。这不是很cool么
CDAudioManager在内部把CDLongAudioSource数组里的第一个称为“左声道(kASC_Left)”,第二个称为“右声道(kASC_Right)”。但它其实跟你耳机那两根线没什么关系,都能出声。当然也可能是我没找到在什么地方设置,不过对于一个手机游戏我们还是不要太苛刻了。
你可以通过下面两个方法来加载和获取音乐对象:
/** Loads the data from the specified file path to the channel's audio source */ -(CDLongAudioSource*) audioSourceLoad:(NSString*) filePath channel:(tAudioSourceChannel) channel; /** Retrieves the audio source for the specified channel */ -(CDLongAudioSource*) audioSourceForChannel:(tAudioSourceChannel) channel;
CDAudioManager里有一些被声明废弃的接口,看得出来,早期版本的CDAudioManager只能播放一首BGM。。。嘛,时代总是会进步的。
CDAudioManager除了控制BGM,还能用来做一些跟BGM相关的跨App的事。你可以给CDAudioManager设置一个模式
-(void) setMode:(tAudioManagerMode) mode;
它能做的事情包括:
只让你的App能放BGM(kAMM_FxPlusMusic);
让你的App到后台还能放BGM(kAMM_MediaPlayback);
当别的播放器在放BGM时让你的App静音(kAMM_FxPlusMusicIfNoOtherAudio),等等。
你还可以通过
-(void) setResignBehavior:(tAudioManagerResignBehavior) resignBehavior autoHandle:(BOOL) autoHandle;
先停止,回游戏后继续放(kAMRBStopPlay);
先停止,回游戏后不放了(kAMRBStop),等等。
说了这么多,似乎还没讲到怎么做BGM的混合、淡入淡出。这其实没什么奥秘,你要做的只是控制CDLongAudioSource的音量。从1逐渐减至0,就是淡出;从0逐渐增至1,就是淡入。cocos2dx提供了一个CDLongAudioSourceFader,可以帮助你比较规范的控制这些音量。它继承自CDPropertyModifier,看名字就知道这是用来动态控制音频属性的。它的作用原理跟cocos2dx的Action系列很类似,所以你应该很快就能熟悉它。只不过,这里没有ActionManager一类的管理器所以你得自己弄一个了。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이 빠른 가이드는 Apple의 혁신적인 무선 스트리밍 기능인 AirPlay를 사용하여 콘텐츠를 쉽게 공유하고 표시하는 방법을 보여줍니다. 원활한 데이터 전송을 위해 Wi-Fi를 사용하여 iPhone 또는 iPad를 AirPlay 호환 Apple TV, 스마트 TV, 스피커, Mac은 물론 특정 타사 스피커 및 스마트 TV에 연결할 수 있습니다. AirPlay는 P2P 방식으로 작동하여 로컬 네트워크를 통해 Apple 장치를 연결합니다. 오디오 및 비디오 스트리밍을 위한 RTP(실시간 전송 프로토콜)와 장치 검색을 위한 Bonjour를 포함한 기술 조합을 사용합니다. 간단히 말해서 AirPlay를 사용하면 장치에서 데이터 스트림을 보낸 다음

Layui를 사용하여 오디오 및 비디오 재생을 지원하는 멀티미디어 페이지를 개발하는 방법 현대 인터넷의 발전으로 미디어 콘텐츠는 사람들의 일상 생활에 없어서는 안될 부분이 되었습니다. 더 나은 사용자 경험을 제공하기 위해 웹 페이지에 오디오 및 비디오 플레이어를 삽입해야 하는 경우가 많습니다. 이 기사에서는 Layui를 사용하여 오디오 및 비디오 재생을 지원하는 멀티미디어 페이지를 개발하는 방법을 소개하고 자세한 코드 예제를 제공합니다. 1단계: Layui 사용을 시작하는 데 필요한 CSS 및 JavaScript 파일과 Layui 소개

유니앱을 이용한 오디오 재생 기능 구현 모바일 인터넷의 발달과 함께 오디오 재생 기능은 많은 애플리케이션에서 필수적인 기능 중 하나가 되었습니다. 오디오 재생 기능은 유니앱을 이용하여 쉽게 구현할 수 있으며, 크로스 플랫폼 특성을 갖고 있어 다양한 모바일 단말기에서 실행이 가능합니다. uniapp을 개발하기 전에 오디오 리소스 파일을 준비해야 합니다. 이 기사에서는 "music.mp3"라는 오디오 파일을 예로 사용하겠습니다. 먼저 uniapp 프로젝트를 생성해야 합니다.

iQiyi는 어떻게 로컬 비디오를 재생합니까? iQiyi 모바일 앱에서 사용자는 다양한 플랫폼에서 영화 및 TV 리소스를 재생할 수 있을 뿐만 아니라 이 앱을 사용하여 로컬 비디오를 재생할 수도 있습니다. 사진 앨범은 간단하고 직접적이지만 사진 앨범에서 동영상을 재생하는 것은 사용하기가 쉽지 않습니다. 기능이 부족하고 기본적으로 일부 기본 기능만 사용할 수 있지만 사용자 경험은 이러한 플랫폼과 완전히 비교할 수 없습니다. 이 앱을 사용하여 로컬 비디오를 시청하는 방법을 살펴보겠습니다! 로컬 비디오 재생을 위한 iQiyi 튜토리얼 1. 내 페이지에 들어가서 다운로드를 클릭하세요. 2. 오른쪽 상단에 있는 작은 점을 클릭하세요. 3. 로컬 비디오를 클릭하세요. 4. 클릭하시면 현지 영상을 시청하실 수 있습니다. 5.

PHP를 사용하여 자막이 있는 비디오 파일을 재생하는 방법은 무엇입니까? 인터넷 기술의 발달로 비디오는 온라인 콘텐츠의 가장 인기 있는 형태 중 하나가 되었습니다. 이제 많은 비디오 파일에는 자막이 포함되어 있어 사용자가 비디오 콘텐츠를 더 쉽게 이해하고 소화할 수 있습니다. 그렇다면 PHP를 사용하여 웹 페이지에서 자막이 있는 비디오 파일을 재생하는 방법은 무엇입니까? 이번 글에서는 이에 대해 자세히 소개하겠습니다. 먼저, 다음 환경을 준비해야 합니다: PHP 실행 환경(예: Apache 또는 Nginx)이 있는 서버;

PHP를 사용하여 간단한 온라인 비디오 업로드 및 재생 시스템을 구현하는 방법 인터넷의 발전으로 비디오 콘텐츠는 점차 사람들이 정보와 엔터테인먼트를 얻는 중요한 방법 중 하나가 되었습니다. 비디오 업로드 및 재생에 대한 사용자의 요구를 충족시키기 위해 PHP 프로그래밍 언어를 사용하여 간단한 온라인 비디오 업로드 및 재생 시스템을 구현할 수 있습니다. 다음은 데이터베이스 생성, 파일 업로드 및 비디오 재생 기능을 포함하여 PHP를 사용하여 이 시스템을 구현하는 방법을 소개합니다. 데이터베이스 생성 먼저, 사용자를 저장할 MySQL 데이터베이스를 생성해야 합니다.

PHP 학습 경험: 오류 처리 방법 PHP 애플리케이션을 개발할 때 오류 처리는 매우 중요한 측면입니다. 올바른 오류 처리는 코드의 안정성과 신뢰성을 향상할 수 있으며 코드를 디버깅하고 문제를 해결하는 데 더 도움이 될 수 있습니다. 이 문서에서는 몇 가지 일반적인 오류 유형과 이를 처리하는 방법을 해당 코드 예제와 함께 소개합니다. 구문 오류 구문 오류는 코딩 과정에서 오류를 찾는 가장 일반적이고 가장 쉬운 오류입니다. 이는 일반적으로 PHP 파서가 코드를 올바르게 이해하지 못하게 하여 다음과 같은 결과를 낳습니다.

현재 베타 버전인 iOS 17.1에서 Apple은 사용자가 일련의 사전 설정 옵션을 사용하여 Apple Music의 재생 목록 아트워크를 사용자 정의할 수 있는 기능을 추가했습니다. 이 작업이 어떻게 수행되었는지 알아보려면 계속 읽어보세요. 이전 iOS에서는 맞춤 재생목록을 생성할 때 트랙의 앨범 아트워크로 구성된 기본 타일 이미지를 사용하거나 맞춤 이미지를 업로드해야 했습니다. 사용자 정의 그래픽이나 관련 사진을 항상 재생 목록에서 쉽게 사용할 수 있는 것은 아니며 기본 타일 그림이 상대적으로 단순하다는 점을 고려하면 재생 목록은 식별하기 어렵고 다소 일반적으로 보일 수 있습니다. 고맙게도 iOS 17.1에서 Apple은 이제 기하학적 모양과 그라데이션을 특징으로 하는 8가지 다른 일러스트레이션 스타일을 제공하며 재생 목록 제목은
