【windows测试通过】关于Godot导入外部音频文件的问题

这篇具有很好参考价值的文章主要介绍了【windows测试通过】关于Godot导入外部音频文件的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

file.open(filepath, file.READ)
var buffer = file.get_buffer(file.get_len())
#put data into audiostreamsample
var stream = AudioStreamSample.new()
stream.data = buffer

代码给出,还没有测试过。(godot3.2测试未通过)

在运行时轻松加载外部音频 (WAV) 文件 ·问题 #732 ·Godotengine/Godot-proposals(戈多引擎) (github.com)

我给出的办法(windos测试通过)

1. 先把外部音频文件在游戏开发的时候导入在godot的res://目录下,然后复制导入后的.imoprt/文件夹下的数据文件(核心原理:引擎底层重导入,importer)

Godot3.5.2支持的音频文件

MP3对应引擎底层类:AudioStreamMP3
OGG对应引擎底层类:AudioStreamSample
Wav对应引擎底层类: AudioStreamOGGVorbis

原理解释:

我们发现,当我们把音频文件放入res://目录下时,godot会自动生成 音频.import文件

【windows测试通过】关于Godot导入外部音频文件的问题,godot,游戏,godot,游戏引擎

 注意看里面的[remap]里面的path那一行,实际上,godot游戏引擎运行的时候读取的是经过godot引擎自己重导入的文件

对于mp3文件而言,引擎实际上解码播放的文件是.mp3str,而不是原始文件.mp3)

对于ogg文件而言,引擎实际上解码播放的文件是.oggstr,而不是原始文件.ogg

对于wav文件而言,引擎实际上解码播放的文件是.sample文件而不是原始文件.wav

我们只需要把这个文件放入到外部文件系统目录就可以用load()函数加载了

笔者把文件放在了C:\Users\me\Desktop\test目录下

【windows测试通过】关于Godot导入外部音频文件的问题,godot,游戏,godot,游戏引擎

如同搭建游戏场景

【windows测试通过】关于Godot导入外部音频文件的问题,godot,游戏,godot,游戏引擎

 播放用的代码(window平台测试通过、其他平台需要你们自测)

extends Node2D


func _ready():
	var stream1 = load("C:/Users/me/Desktop/test/fresh.oggstr")
	var stream2 = load("C:/Users/me/Desktop/test/雪の朝.sample")
	var stream3 = load("C:/Users/me/Desktop/test/景山将太.mp3str")
	
	$bgm1.stream = stream1
	$bgm2.stream = stream2
	$bgm3.stream = stream3

	$bgm1.play()
	$bgm1.play()
	$bgm3.play()

 如果想要加载外部文件直接播放.mp3,.wav.ogg恐怕是不行的。

这方面可以写个C++插件,就是把引擎的核心导入资源文件的那个过程自己再写一遍(适用于外部文件)也就是自己封装一个底层格式编码转换插件。文章来源地址https://www.toymoban.com/news/detail-593384.html

到了这里,关于【windows测试通过】关于Godot导入外部音频文件的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • elasticsearch通过文件批量导入数据

    有一个需求,需要测试es单个索引的性能,需要将一个索引灌1亿条数据,比较了3种常用的批量导入方式,选择了文件+shell批量导入 索引的mapping,如下 通过restAPI导入数据在数据量非常小的情况下也可以使用,一次性导入一亿条数据,这个要很长时间,非常慢,不推荐 这种方

    2023年04月09日
    浏览(32)
  • 如何通过Navicat导入sql文件

    1、打开Navicat数据库管理工具; 2、在左栏空白区域新建一个连接; 配置好连接名、密码等信息 3、鼠标放在mysql上点击右键,选择新建数据库。 4、将sql文件导入进来,选择运行SQL文件,找到文件所在位置,点击确定。 5、SQL导入成功,界面如下。 6、打开t_user数据表,表的内

    2024年02月15日
    浏览(47)
  • 关于Godot游戏引擎制作流水灯

    先上核心代码  游戏节点    流水灯的通途可以是 1. 装饰 2. 音乐类多媒体程序(如FL中TB-303的步进灯) FL Studio Transistor Bass

    2024年02月14日
    浏览(70)
  • 关于游戏引擎(godot)对齐音乐bpm的技术

    引擎默认底层 1. _process(): 每秒钟调用60次(无限的) 数学 1. bpm=1分钟节拍数量=60s节拍数量 bpm120 = 60s120拍 2. 每拍子时间= 60/bpm 3. 每个拍子触发周期所需要的帧数= 每拍子时间*60(帧率) 这个是从帧数级别上对齐拍子的时间,对于游戏引擎来说,用帧数更加适合高频触发程序 在

    2024年02月16日
    浏览(51)
  • 如何通过Python将JSON格式文件导入redis?

    摘要: 如果希望将 JSON 文件导入到 Redis 中,首先要做的就是连接到 redis 服务。 本文分享自华为云社区《Python将JSON格式文件导入 redis,多种方法》,作者: 梦想橡皮擦 。 在导入前需要先确定你已经安装 Redis,并且可以启动相关服务。 windows 上启动 redis 的命令是 redis-serve

    2024年02月06日
    浏览(42)
  • Postman如何做接口测试:如何使用外部 json 文件数据

    在软件测试过程中,你可能已经提前配置了一些环境数据放在通用的配置文件中,你想直接导入这些文件,在 postman 中使用,这样的话,你就不需要重复在 postman 软件中设置了。 比如你可以直接从开发那里得到一个配置文件,里面有 host 地址,数据库地址,每页的列表限制信

    2024年02月07日
    浏览(41)
  • 通过Python的speech_recognition库将音频文件转为文字

    大家好,我是空空star,本篇给大家分享一下通过Python的speech_recognition库将音频文件转为文字。 上一篇已经介绍了相关的库 speech_recognition 。 通过Python的speech_recognition库将音频文件转为文字 Python-语音转文字相关库介绍 这里我们通过gTTS先生成一段音频,gTTS相关的介绍可以看博

    2024年02月03日
    浏览(39)
  • Postman如何做接口测试6:如何使用外部 json 文件数据

    活动地址:CSDN21天学习挑战赛 在软件测试过程中,你可能已经提前配置了一些环境数据放在通用的配置文件中,你想直接导入这些文件,在 postman 中使用,这样的话,你就不需要重复在 postman 软件中设置了。 比如你可以直接从开发那里得到一个配置文件,里面有 host 地址,

    2024年02月12日
    浏览(43)
  • Windows:‘git‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

    当使用 git 在Windows环境下 命令克隆项目时, 出现了问题: ‘git’ 不是内部或外部命令,也不是可运行的程序或批处理文件。 解决方法: 安装 git 下载 双击下载的 git 安装包,默认设置,一路 next , 最终安装成功。 尝试使用 git 命令, 仍然是: ‘git’ 不是内部或外部命令

    2024年02月12日
    浏览(44)
  • Godot 单元测试

    单元测试是我们常用的功能,Godot作为一个游戏,单元测试和热重载是我们常用的功能。这里我们讲解最简单的单元测试的情况。 我们添加一个最简单的节点,挂载一个最简单的脚本。 运行成功!

    2024年02月08日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包