Swift使用AVAudioPlayer来调节游戏的背景音乐大小
音乐文件的声音大小有时在做为游戏背景音乐时会过大,而如果我们只是简单应用SKAudioNode来加载音乐的话,是无法进行声音大小的调节的,因此我们必须使用更强大的AVAudioPlayer来进行声音大小的调节。
具体实现代码如下:
 import AVFoundation
 class GameScene: SKScene,SKPhysicsContactDelegate {
 private var avPlayer:AVAudioPlayer!
 override func didMove(to view: SKView) {
// 背景音乐
        let path = Bundle.main.path(forResource: "background", ofType: "mp3")
        let pathUrl = URL(fileURLWithPath: path!)
        do {
            try avPlayer = AVAudioPlayer(contentsOf: pathUrl)
        }catch {
            // return 在catch不使用return的原因是 即使因声音播放不了 还是让整个游戏运行
            print("mp3 error")
        }
        avPlayer.play()
        avPlayer.volume = 0.2
}
}
更多游戏教学:http://www.iFIERO.com
Swift使用AVAudioPlayer来调节游戏的背景音乐大小的更多相关文章
- Swift - 给游戏添加背景音乐和音效(SpriteKit游戏开发)
		
游戏少不了背景音乐和音效.下面我们通过创建一个管理音效的类,来实现背景音乐的播放,同时点击屏幕可以播放相应的音效. 声音管理类 SoundManager.swift 1 2 3 4 5 6 7 8 9 ...
 - Swift实战之2048小游戏
		
上周在图书馆借了一本Swift语言实战入门,入个门玩一玩^_^正好这本书的后面有一个2048小游戏的实例,笔者跟着实战了一把. 差不多一周的时间,到今天,游戏的基本功能已基本实现,细节我已不打算继续完 ...
 - swift语言开发的一个游戏------熊猫跑酷(KongfuPanda)
		
项目地址:https://github.com/jakciehoo/KongfuPanda 欢迎加QQ群:260558552.大家一起交流iOS开发,我们可以一起学习,我很想集结一些志同道合的朋友,一 ...
 - [Swift]LeetCode810. 黑板异或游戏 | Chalkboard XOR Game
		
We are given non-negative integers nums[i] which are written on a chalkboard. Alice and Bob take tu ...
 - [Swift]LeetCode353. 设计贪吃蛇游戏 $ Design Snake Game
		
Design a Snake game that is played on a device with screen size = width x height. Play the game onli ...
 - C++ 调节PCM音频音量大小
		
在用解码器解码音频数据得到PCM音频数据块之后,可以在将数据送给声卡播放之前调节其音量大小,具体的实现函数如下: void RaiseVolume(char* buf, UINT32 size, UI ...
 - Swift 和 Objective-C 混编后对ipa包大小的影响
		
https://my.oschina.net/ilrrong/blog/800923 最近用Swift对以前写的一个应用进行重写,使用了Swift和Objective-C的混编,提交审核后发现比以前大 ...
 - Swift按照数组元素出现的次数及大小排序
		
要求如下: 1.已知一个数组,按照单个元素在数组中出现的次数作为重新排序的依据,个数多的排在前面 2.相同个数时候,元素值大的排前面 例子: [1, 2, 2, 3, 5, 5] 经过计算得到的结果是 ...
 - swift - label 的font 设置 文字字体和大小
		
设置字体和颜色 lab.textColor = UIColor.init(hexColor: "795928") lab.font = UIFont.systemFont(ofSi ...
 
随机推荐
- 以ADO形式操作mysql数据库
			
首先得需要一个连接mysql的helper类: public class MySqlHelper { #region [ Connection ] public static string conne ...
 - 【luogu P2279 [HNOI2003]消防局的设立】 题解
			
题目链接:https://www.luogu.org/problemnew/show/P2279 想怎么贪怎么贪 #include <queue> #include <cstdio& ...
 - 使用java原生API模拟请求下载文件
			
/** * * @param urlPath * 下载路径 * @param saveDir * 下载存放目录 * @return 返回下载文件 * @throws Exception */ publ ...
 - CSS:层叠样式表—position
			
CSS position属性用于指定一个元素在文档中的定位方式.top,right,bottom和left属性则决定了该元素的最终位置. 常见语法 static | relative | absolu ...
 - HTML中IMG标签总结
			
一.Img标签有两个重要的属性: 1.src 属性:图片的地址 2.alt 属性:图片不显示是现实的文字 二.Img标签是行级元素: img.input属于行内替换元素.height/width/ ...
 - 用 crontab 实现开机自动运行脚本
			
开发「bufpay.com 个人即时到账收款平台」的时候,订单状态和支付二维码的状态如果过期了要实时修改状态,最大效率利用支付二维码. 过期脚本需要开机启动,并且 deamon 运行,有很多办法可以开 ...
 - 学习笔记 - 2sat
			
学习笔记 - 2sat 决定重新启用Markdown--只是因为它支持MathJax数学公式 noip考完,既轻松又无奈,回来慢慢填坑 这篇博客也是拖了好久,通过kuangbin的博客才弄懂2-sat ...
 - 利用MyFlash闪回丢失数据
			
MyFlash is an open source tool released by Meituan-Dianping which can be used to flashback MyS ...
 - 03.安装jdk8作为系统环境
			
博客为日常工作学习积累总结: 1.安装JDK8 创建安装目录:mkdir /application/java8 解压-安装包自行下载:tar -zxf jdk-8u202-linux-x64.tar. ...
 - TypeScript : 语法及特性
			
当let声明一个变量的时候它使用的词法作用域或者是块作用域.块作用域指的就是他们包含的块以外的不能访问. const声明:是let声明有相同的作用域规则,但是它被赋值后不能再被改变.类似于java的f ...