Articles of 计时器

如何在Python中播放声音而不中断播放音乐/其他声音

我正在python的计时器上工作,当等待时间结束时,这个计时器响起。 我使用下面的代码: from wave import open as wave_open from ossaudiodev import open as oss_open def _play_chime(): """ Play a sound file once. """ sound_file = wave_open('chime.wav','rb') (nc,sw,fr,nf,comptype, compname) = sound_file.getparams( ) dsp = oss_open('/dev/dsp','w') try: from ossaudiodev import AFMT_S16_NE except ImportError: if byteorder == "little": AFMT_S16_NE = ossaudiodev.AFMT_S16_LE else: AFMT_S16_NE = ossaudiodev.AFMT_S16_BE dsp.setparameters(AFMT_S16_NE, nc, fr) […]

计时器是否支持Windows本地API?

Windows本机API是否支持定时器? 我知道Windows上的POSIX实现支持计时器,但我对Windows SDK API感兴趣。

带定时器的Windows服务

我用c#.net中的计时器创build了一个windows服务。 它工作正常,而我在Visual Studio中debugging/build立项目,但安装后不执行它的操作。 这背后的原因是什么? 代码: public partial class Service1 : ServiceBase { FileStream fs; StreamWriter m_streamWriter; Timer tm = new Timer(); public Service1() { InitializeComponent(); this.ServiceName = "timerservice"; tm.Interval = 2000; tm.Tick += new EventHandler(PerformOperations); tm.Start(); fs = new FileStream(@"c:\mcWindowsService.txt", FileMode.OpenOrCreate, FileAccess.Write); m_streamWriter = new StreamWriter(fs); m_streamWriter.BaseStream.Seek(0, SeekOrigin.End); } private void PerformOperations(object sener, EventArgs e) […]

我可以在控制台C ++应用程序中使用SetTimer()API吗?

我有一个控制台应用程序正在使用一个DLL文件,它使用SetTimer()调用来创build一个计时器并在其内部激发一个函数。 电话如下: SetTimer((HWND)NULL, 0, timer_num, (TIMERPROC)UnSyncMsgTimer)) == 0) 它期望接收计时器消息,但这从来没有发生。 我假设,因为我是一个控制台应用程序,而不是一个标准的Windows GUI应用程序(如最初使用的DLL文件)。 这阻止了DLL文件function的关键部分不起作用。 我的应用程序需要保留一个控制台应用程序,我不能更改DLL。 有没有工作来做这个工作?

使用VB.net读取和写入命令提示符控制台

我在其他地方也提过一个类似的问题,但也许我没有正确地问,或者我不清楚,所以我再次问。 这是我想要得到的地方: 打开一个Windows命令提示符 通过dos命令运行DOS应用程序 阅读在dos框中显示的返回的文本,并在我的Windows窗体中的文本框中显示它。 这需要定期重复(比如,每秒),并且dos框不应该closures。 我一直在试图使用Process和StartInfo命令,但是他们只运行应用程序并立即closures这个过程。 我需要保持dos框打开,并继续阅读由dos应用程序添加到它的任何新文本。 我也遇到这个线程似乎回答我的问题,但它是在C#中,我无法将其转换: 阅读Windows命令提示标准输出 我确实进入了打开命令提示符并启动应用程序的部分,但我不知道如何读取它现在返回到dos框控制台的数据。 我想不断检查变化,以便我可以采取行动,也许使用计时器控制。 请帮忙。 谢谢! 我运行了由Stevedog提供的代码,并像这样使用它: Private WithEvents _commandExecutor As New CommandExecutor() Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click _commandExecutor.Execute("c:\progra~2\zbar\bin\zbarcam.exe", "") End Sub Private Sub _commandExecutor_OutputRead(ByVal output As String) Handles _commandExecutor.OutputRead txtResult.Text = output End Sub 但是我所得到的是空白的dos框。 zbarcam应用程序运行正常,因为我可以看到相机预览,我也可以看到它检测到QR码,但是文本没有显示在dos框中,除非closuresDOS框,否则_commandExecutor_OutputRead子程序不会被触发。

测量时间导致返回值为0或0.001

我正在尝试使用chrono::steady_clock来测量我的程序中的一段代码之间经过的小数秒数。 我有这个代码块在LiveWorkSpace工作( http://liveworkspace.org/code/YT1I$9 ): #include <chrono> #include <iostream> #include <vector> int main() { auto start = std::chrono::steady_clock::now(); for (unsigned long long int i = 0; i < 10000; ++i) { std::vector<int> v(i, 1); } auto end = std::chrono::steady_clock::now(); auto difference = std::chrono::duration_cast<std::chrono::microseconds>(end – start).count(); std::cout << "seconds since start: " << ((double)difference / 1000000); } […]

Windows是否为应用程序提供了单调递增的时钟?

这个问题的启发是Linux是否为应用程序提供了一个单调递增的时钟 。 也许我应该更加精确:我正在寻找一个严格增加的时钟函数,因此永远不会返回相同的值,而是独立于两个相邻的快速通话。

HPET是否可以在Windows中直接访问?

我想使用高性能事件计时器(HPET)来进行性能分析工具,以便快速进行非常高精度的测量。 timeGetTime在1ms时不能提供足够的分辨率,QueryPerformanceCounter每次读取都比我想要的慢得多。 我在研究这个问题的时候遇到了HPET,但是我看不到有什么样的实际情况。 所以我可以直接使用它(汇编是否正常),还是必须依赖Win32 API中内置的多媒体/高性能计时工具?