如果使用 Audio API 播放时获取的时间出现错乱,可能是因为时间戳不正确或者播放过程中出现了意外的异常。您可以采取以下措施来解决:
1 检查时间戳
在使用 Audio API 播放音频文件时,可以使用 `audiocurrentTime` 获取音频的当前播放时间,该值是从音频开始播放的时间点的秒数计算出来的。如果该值出现错乱,则可能是因为结束时间戳没有正确设置或者开始时间戳不在音频文件开头的位置。您可以在程序中检查一下是不是出现了这两种情况。
2 检查异常情况
在播放音频文件时,有可能会出现一些异常情况,如请求超时、网络不稳定等。这些因素可能会导致播放时间出现错乱,因此您需要在代码中进行相应的错误处理,使得程序可以更加健壮和稳定。
如果以上措施仍然无法解决问题,您可以在描述问题时提供更多信息,如具体的错误提示或截图,以便我更好地帮助您解决问题。
文件的创建时间是修改不了的
java API只能获取文件更新时间
获取文件创建时间可以使用process 来调用dir命令
我在网上找到的一种方法:
string filename= "C:\powerbuilder\PbApi\WinApitxt "
ulong hfile
long rtn
WIN32_FIND_DATA lpFindFileData
SYSTEMTIME lpSystemTime
filetime lpcreate
filetime lpaccess
filetime lpwrite
FILETIME lpFileTime
FindFirstFile(filename,lpFindFileData)
lpFileTime = lpFindFileDatacreationtime
rtn = FileTimeToSystemTime(lpFileTime,lpSystemTime)
Messagebox( "creationtime ", string(lpSystemTimewyear)+ "年 "+string(lpSystemTimewmonth)+ "月 "+string(lpSystemTimewday)+ "日 ")
相关结构:
$PBExportHeader$win32_find_datasrs
global type WIN32_FIND_DATA from structure
unsignedlong fileattributes
filetime creationtime
filetime lastaccesstime
filetime lastwritetime
unsignedlong filesizehigh
unsignedlong filesizelow
unsignedlong reserved0
unsignedlong reserved1
character filename[260]
character alternatefilename[14]
end type
$PBExportHeader$filetimesrs
global type FILETIME from structure
ulong dwLowDateTime
ulong dwHighDateTime
end type
$PBExportHeader$systemtimesrs
global type SYSTEMTIME from structure
uint wYear
uint wMonth
uint wDayOfWeek
uint wDay
uint wHour
uint wMinute
uint wSecond
uint wMilliseconds
end type
函数定义
FUNCTION ulong FileTimeToSystemTime(ref FILETIME lpFileTime,ref SYSTEMTIME lpSystemTime) LIBRARY "kernel32dll "
FUNCTION ulong FindFirstFile(ref string lpFileName,ref WIN32_FIND_DATA lpFindFileData) LIBRARY "kernel32dll " ALIAS FOR "FindFirstFileA "
但是,运行时总是提示下面几行有问题:
FILETIME lpFileTime
FindFirstFile(filename,lpFindFileData)
lpFileTime = lpFindFileDatacreationtime
rtn = FileTimeToSystemTime(lpFileTime,lpSystemTime)
建立一个userobject,命名为n_cst_liveupdate
然后对该对象edit source ,将下面那些内容复制替换掉里面的内容,然后保存
n_cst_liveupdate是一个取(和设置)本地文件最后修改日期的自定义对象
问题出在什么地方,是否还有其它好的办法,请各位多多指教
labview获取文件修改时间
1、单击屏幕右下角的时间,更改日期和时间

2、修改系统时间

这样的 *** 作,几乎是每次试验的时候都要做。。。。看完他们这样的 *** 作,当时就很崩溃,就很不理解,为什么他们当初不提出这样需求呢。他们的回答会让你更崩溃:“我们习惯了。”
好吧,XX座的毛病犯了,实在受不了。于是乎就出现了下面的界面,好了,一下子方便多了吧:

具体实现,使用调用系统kernel32dll中SetSystemTime函数来实现,函数内容,可百度。调用时需要注意的:

在调用规范下拉列表中选择"stdcall (WINAPI)" 。
在返回类型中选择“数值”以及“有符号8位整数”。
点击添加参数并在类型中选择“匹配至类型”,接着在数据格式中选择“句柄指针”。
点击确定按钮,完成对调用库函数节点的配置。
这个函数以一个包含八个双字节(16位整数)的结构体作为参数。在LabVIEW中,需要创建一个包含八个双字节的簇来传递这个参数。八个双字节分别为年、月、星期、日、小时、分钟、秒以及毫秒。将此簇连接至调用库函数节点的参数1。
输入相应的值,并运行程序以设定系统时间。
以上就是关于audio播放时间获取错乱全部的内容,包括:audio播放时间获取错乱、java中的File类修改文件创建时间、关于怎么获取文件修改日期的方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)