Project1

标题: Audio模块的se如何分开控制? [打印本页]

作者: test    时间: 2014-9-8 14:42
标题: Audio模块的se如何分开控制?
RUBY 代码复制
  1. #同时播放两个se
  2. Audio.se_play('se1')
  3. Audio.se_play('se2')
  4.  
  5. #用Audio.se_stop会停止所有的se,怎样才能让se1停止而不停止se2?
  6. #换句话说就是怎么分开控制音效的播放和停止?

作者: Sion    时间: 2014-9-8 20:02
研究下这个,很好用的https://rpg.blue/thread-256937-1-1.html
作者: test    时间: 2014-9-8 20:54
Sion 发表于 2014-9-8 20:02
研究下这个,很好用的https://rpg.blue/thread-256937-1-1.html

RUBY 代码复制
  1. Seal.startup();
  2. source = Source.new;
  3. source.buffer = Buffer.new("test.ogg");
  4. source.play;

测试上面的代码时,出现“GetProcAddress: strcpy_s or strcpy_sA”错误。是不是我哪里弄错了?
作者: fux2    时间: 2014-9-8 23:13
test 发表于 2014-9-8 20:54
Seal.startup();
source = Source.new;
source.buffer = Buffer.new("test.ogg");

https://rpg.blue/thread-371224-1-1.html
完成。
作者: test    时间: 2014-9-9 18:52
fux2 发表于 2014-9-8 23:13
https://rpg.blue/thread-371224-1-1.html
完成。

根据se序号停止是这样写吗?
RUBY 代码复制
  1. module Fux2
  2.   def self.stop_se_by_id(id)
  3.     return false unless (id >= 0 && id <= 32)
  4.     buf = "\0"*4
  5.     PSP.call(buf,SE_LIST_ADDR+id*4,4)
  6.     p_this_se = buf.unpack("L")[0]
  7.     set_addr(p_this_se)
  8.     STOP_SE.call
  9.     return true
  10.   end
  11. end

另外想问有什么办法让Audio.se_play可以指定在某se序号强制播放?




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