CB下某一设置时间段内,重复播放语音,该如何解决
CB下某一设置时间段内,重复播放语音 - C++ Builder / Windows SDK/API
请教:在CB环境下调用WIN API函数sendPlaySound播放语音,现在想给语音设置播放时间段,比如:此语音长5秒,设置时间段是10秒的话,就重复播放2次.请问怎样在程序内实现?谢谢
------解决方案--------------------
沒人回答,我來消滅0回復吧
#include <DateUtils.hpp>
int tpmTime = 10; //時間間隔10秒
TDateTime t1 = Now();
TDateTime t2 = Now();
while(SecondsBetween(t1,t2) < 10) //如果t2和t1的時間間隔小於10秒繼續播放一次
{
//執行sendPlaySound
t2 = Now(); //並更新t2的時間
}
這個方法 如果語音是5秒 間隔是8秒 那還是會播放兩次 不會在第二次中途停止語音的播放 不了解sendPlaySound請樓下完善
------解决方案--------------------
可以通过判断语音文件的长度来判断。比如8000采样率的,8位编码的声音文件,每秒钟是8K字节。
请教:在CB环境下调用WIN API函数sendPlaySound播放语音,现在想给语音设置播放时间段,比如:此语音长5秒,设置时间段是10秒的话,就重复播放2次.请问怎样在程序内实现?谢谢
------解决方案--------------------
沒人回答,我來消滅0回復吧
#include <DateUtils.hpp>
int tpmTime = 10; //時間間隔10秒
TDateTime t1 = Now();
TDateTime t2 = Now();
while(SecondsBetween(t1,t2) < 10) //如果t2和t1的時間間隔小於10秒繼續播放一次
{
//執行sendPlaySound
t2 = Now(); //並更新t2的時間
}
這個方法 如果語音是5秒 間隔是8秒 那還是會播放兩次 不會在第二次中途停止語音的播放 不了解sendPlaySound請樓下完善
------解决方案--------------------
可以通过判断语音文件的长度来判断。比如8000采样率的,8位编码的声音文件,每秒钟是8K字节。