11.1、Libgdx的音频之音效
(官网:www.libgdx.cn)
音效通常是比较小的音频文件,通常是几秒钟的长度。通常用在特定的游戏事件中,比如跳跃或者射击。
音效可以保存为多种格式。Libgdx支持MP3、OGG和WAV文件。RoboVM(iOS)不支持OGG文件。
注意:在Android中,一个音效实例不能超过1MB,如果超过1MB,请使用Music(音乐)类。
从某种意义上来说,音效是指Sound接口。可以通过如下方式载入音效:
Sound sound = Gdx.audio.newSound(Gdx.files.internal("data/mysound.mp3"));
这将会载入data文件夹下的mysound.mp3文件。
一旦载入之后,我们可以进行回放:
sound.play(1.0f);
这将会播放一次音效。play方法可以使用多次。
每次调用Sound.play()会返回一个id,可以通过这个id对声音实例进行控制:
long id = sound.play(1.0f); // 播放声音,保存id
sound.stop(id); // 立即停止声音实例
sound.setPitch(id, 2); //增加1倍音高
id = sound.play(1.0f); // 第二次播放,将被视为一个新的实例
sound.setPan(id, -1, 1); // 设置左声道
sound.setLooping(id, true); //音效循环回放
sound.stop(id); // 停止回放
需要注意的是,这些方法在JavaScript或WebGL中不能使用。
一旦你不再需要一个Sound需要进行销毁:
sound.dispose();
在音效被销毁后再次调用可能会导致错误。
(www.libgdx.cn版权所有,如需转载,注明出处)
11.1、Libgdx的音频之音效的更多相关文章
- 11、Libgdx的音频
(官网:www.libgdx.cn) Libgdx提供了简单的方法对较小的音效和磁盘中的音乐进行回放.它同样也提供了方便的针对音频硬件的读写权限. 所有的音频操作都通过audio模块来完成: Audi ...
- 11.4、Libgdx的音频之录制PCM音效
(官网:www.libgdx.cn) 可以通过AudioRecorder接口访问PCM数据.通过如下方式创建一个接口实例: AudioRecorder recorder = Gdx.audio.new ...
- 11.3、Libgdx的音频之播放PCM音频
(官网:www.libgdx.cn) audio模块可以提供对音频硬件的直接访问. 音频硬件是通过AudioDevice接口进行的抽象. 以下创建一个新的AudioDevice实例: AudioDev ...
- 11.2、Libgdx的音频之音乐
(官网:www.libgdx.cn) 对于任何超过5秒的声音来说,最好将其放到磁盘中而不是内存中.Libgdx提供了一个Music接口来帮我们实现. 以下载入Music实例: Music music ...
- iOS开发——音频篇——音效的播放
一.简单介绍 简单来说,音频可以分为2种 (1)音效 又称“短音频”,通常在程序中的播放时长为1~2秒 在应用程序中起到点缀效果,提升整体用户体验 (2)音乐 比如游戏中的“背景音乐”,一般播放时间较 ...
- Libgdx之Music Sound 音效
教程总文件夹: http://blog.csdn.net/zqiang_55/article/details/50878524 一个好的游戏.假设没有游戏音效那么这个游戏就过于简单乏味.Libgdx中 ...
- FFmpeg(11)-基于FFmpeg进行音频重采样(swr_init(), swr_convert())
一.包含头文件和库文件 修改CMakeLists # swresample add_library(swresample SHARED IMPORTED) set_target_properties( ...
- 11.QT-ffmpeg+QAudioOutput实现音频播放器
1.前言 由于QAudioOutput支持的输入数据必须是原始数据,所以播放mp3,WAV,AAC等格式文件,需要解封装后才能支持播放. 而在QT中,提供了QMediaPlayer ...
- 一篇对iOS音频比较完善的文章
转自:http://www.cnblogs.com/iOS-mt/p/4268532.html 感谢作者:梦想通 前言 从事音乐相关的app开发也已经有一段时日了,在这过程中app的播放器几经修改我也 ...
随机推荐
- 反射实现java深度克隆
一.克隆 有时想得到对象的一个复制品,该复制品的实体是原对象实体的克隆.复制品实体的变化不会引起原对象实体发生变化,这样的复制品称为原对象实体的克隆对象或简称克隆. 1.浅复制(浅克隆) 概念:被复制 ...
- SQL注入原理及绕过安全狗
1.什么是SQL注入攻击 SQL注入攻击指的是通过构造特殊的输入作为参数插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令 http://www.xxx.com/list. ...
- vue.js-路由
1:编写router.js import Router from "vue-router" import Vue from "vue" import rou ...
- AngularJs 笔记
初识 directive 指令 ng-app 初始化一个AngularJs应用程序(通过一个值(比如 ng-app="myModule")连接到代码模块.) ng-init 初始化 ...
- 查找Mysql的安装路径
在安装Mysql后,却忘记路径了!!!!!!!! 查找的方法:进入Mysql命令行输入, show variables like "%char%"; 红色部分就是Mysql的安 ...
- E1
en表"使怎么样" engage 吸引,从事,订婚 be engaged in doing sth. 忙于 endure 忍耐,忍受 enforce 强制执行 enrol ...
- JavaScript 代码规范
所有的 JavaScript 项目适用同一种规范. JavaScript 代码规范 代码规范通常包括以下几个方面: 变量和函数的命名规则 空格,缩进,注释的使用规则. 其他常用规范-- 规范的代码可以 ...
- 大规模WebGL应用引发浏览器崩溃的几种情况及解决办法
一般的Web应用基本上不会导致浏览器崩溃,写Javascript代码也不需要管理内存资源,基本也不需要考虑内存"泄露"的问题.随着H5的崛起,越来越多的原本在桌面端的软件也改头换面 ...
- Tomcat如何实现WebSocket
WebSocket协议属于HTML5标准,越来越多浏览器已经原生支持WebSocket,它能让客户端和服务端实现双向通信.在客户端和服务器端建立一条WebSocket连接后,服务器端消息可直接发送到客 ...
- UISearchController替换UISearchDisplayController
随着iOS 的升级,iOS 7的占有率更低了.Xcode 升级到Xcode 8之后,对iOS 应用支持的最低版本,iOS 7也被抛弃了.我在新项目中也是最低支持到iOS 8,因此工程里也是各种警告.首 ...