Project1

标题: 如何使音频在选择的某一点开始播放? [打印本页]

作者: David_Exmachina    时间: 2017-6-29 22:19
标题: 如何使音频在选择的某一点开始播放?
本帖最后由 David_Exmachina 于 2017-6-29 22:21 编辑

如题,比方说有一个音频,内容如下:
刚开始播放后听到:“Let the bass kick”
播放1.4秒后听到:“O-oooooooooo AAAAE-A-A-I-A-U-”
播放4.2秒后听到:“JO-oooooooooooo AAE-O-A-A-U-U-A-”

如果我用普通的方法播放这个音频,
那么会从“Let the bass kick”开始播放。
我能不能通过一种手段,
而且不创建一个新的音频
使这个音频从“O-oooooooooo AAAAE-A-A-I-A-U-”开始播放,
或者是“JO-oooooooooooo AAE-O-A-A-U-U-A-”开始播放呢?

脚本好像很难实现这个。
如果脚本不可能实现,有什么能够实现这个的插件吗?

注:例子中的音频其实是音乐“Brain Power”的一部分。

作者: 张咚咚    时间: 2017-6-29 23:10
本帖最后由 张咚咚 于 2017-6-30 00:01 编辑

不创建音频好像没办法
分割音频测试测试mp3格式是没问题的

RUBY 代码复制
  1. #使用方法:fg_bgm(BGM文件名需要后缀名, 开始播放的位置, 播放的长度)
  2. def fg_bgm(filename, start, len)
  3.  
  4. f = open("Audio/BGM/#{filename}", 'rb')
  5. data = f.read()
  6.  
  7. f = open("Audio/BGM/fg___.mp3", 'wb')
  8. f.write(data[start, len])
  9.  
  10. f.close()
  11.  
  12. Audio.bgm_play("Audio/BGM/fg___.mp3", 100, 100)
  13. end

作者: David_Exmachina    时间: 2017-6-30 12:18
这个应该插入哪个脚本呢?
另外每次打开这个的时候怎么都报错,说:
找不到文件:Section000:51in'initialize'Audio/BGM/(文件名)

作者: 张咚咚    时间: 2017-6-30 15:01
本帖最后由 张咚咚 于 2017-6-30 15:06 编辑
David_Exmachina 发表于 2017-6-30 12:18
这个应该插入哪个脚本呢?
另外每次打开这个的时候怎么都报错,说:
找不到文件:Section000:51in'initiali ...


Project1.zip (1.86 MB, 下载次数: 72)

无论播放那个文件,最多只会创建两个临时文件,不必在意。
作者: David_Exmachina    时间: 2017-6-30 17:29
哇,这个很不错,基本符合我的要求。^▽^
不过如果点开画面,段落播放完了以后会停止循环,
点进画面后才会继续循环,这个怎么破?QWQ
还有start和len的单位是什么?是采样吗?@U@

作者: 张咚咚    时间: 2017-6-30 18:12
本帖最后由 张咚咚 于 2017-6-30 18:13 编辑
David_Exmachina 发表于 2017-6-30 17:29
哇,这个很不错,基本符合我的要求。^▽^
不过如果点开画面,段落播放完了以后会停止循环,
点进画面后才会 ...


什么意思,是循环播放音乐吗。
单位是读取的文件数组
作者: 张咚咚    时间: 2017-6-30 20:02
读取一个文件会保存在数组里,判断数组的长度,就是文件的长度。。。
Audio.bgm_play,Audio模块里的bgm_play方法是播放BGM的,会循环,换成me_play就是ME播放方法,只会播放一次。
作者: David_Exmachina    时间: 2017-7-1 11:24
OK,我知道该如何得知一个单位的长度了。(ノ゚∀゚)ノ
那么点开画面后停止循环的问题该如何解决呢?
⊙ω⊙
作者: 张咚咚    时间: 2017-7-1 12:35
David_Exmachina 发表于 2017-7-1 11:24
OK,我知道该如何得知一个单位的长度了。(ノ゚∀゚)ノ
那么点开画面后停止循环的问题该如何解决呢?⊙ω⊙ ...

点开什么画面
作者: David_Exmachina    时间: 2017-7-1 18:50
本帖最后由 David_Exmachina 于 2017-7-1 18:56 编辑

好的吧我知道原因了,这大概是音乐文件格式的问题。
我试了一下,不只是剪切下来的音乐,所有mp3格式的音乐都会发生这个问题。
总之,问题算是完全解决了,非常感谢你在这个难题上的帮助。O(∩_∩)O

还要感谢你能够连续帮助我那么长时间(我觉得2天已经算是很长了),
一般人要问的话,我觉得只要半天后问题就会解决了。
我还以为我问了太久就会遭到很恶劣的评论呢。

另外,我觉得拿这个脚本做真正的循环音乐会很好。
只是普通的循环就会出现音乐会停止一段时间,会产生很别扭的感觉。
尽管要统一所有音乐文件的码率,很麻烦,但至少这是可行的了。
虽然会产生临时文件,但是只要用脚本及时处理就好了。





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1