mcisendstring函数进度条控制

mcisendstring函数进度条控制,第1张

API复制文件的时候,应该没有返回给进度给你吧,如果真要自己去写一个进度,在API没有给你提供的情况下,只有自己写一个复制函数,这样你就可以把 value设置为当前已复制大小,maxinum 设置为文件总长度,文件大小用,new FileInfo(path)Length 可以获取, 如果手写文件复制的话,就是用FileStream 打开源文件,在创建一个新的FileStream,即目标文件,然后一点一点的,从源文件中读出来,再写到新的文件里面

做一个全局静态变量,初始值设置为false,在第一次按下的时候设置为True

在你的执行前(Case 'A'之后)加一个If判断,只有True的时候才响应按键,以后就可以通过控制全局变量控制按键是不是需要响了

seek 命令用法:

到指定的位置播放。

Dim P1 as Long

P1 = 100

mciSendString "seek movie to ", P1, 0, 0 'P1是当前起始位置,单位:毫秒

mciSendString "seek movie to start", 0&, 0, 0 '定位到开头位置

mciSendString "seek movie to end", 0&, 0, 0 '定位到最后位置

status:

1,status position:

获取当前播放位置:

Dim st As String64

mciSendString "status movie position", st, len(st), 0

2,status length:

获取媒体的总长度:

mciSendString "status movie length", st, len(st), 0

l=val(st) 'l就是所播放文件的长度

Dim ST As String 64

- -! 这个可不是乘以的意思啊! 像C里面的指针等都是用这符号的! 当然,VB里没指针,这个表示定义长度,具体定义多长自然是根据你实际需要来定的,改小了的话如果你后面给此变量赋值时,有可能会出问题`` 一定要超过你后面要用到给它赋值的最大长度。

TCHAR cmd[256];

wsprintf(cmd,"status %s volume",shortPath);

TCHAR volume[256];//用cmd命令获取当前音量,是字符串类型的,存放在volume中

mciSendString(cmd,volume, sizeof(volume), 0 );

int v0=atoi(volume);//把字符串类型转为Internet型,要include<stdlibh>

wsprintf(cmd,"setaudio %s volume to %i",shortPath,v0+200);//修改音量

mciSendString(cmd,"",0,NULL);

单首能播了是吧,那你只要启动后遍历一遍把所有文件路径记住放到一个数组里,然后播放一首你开个定时器定时去查这首歌的当前时间和总时间,当两个时间一样时,你就把这首歌Stop然后play数组里的下一首,重新调用一遍即可

以上就是关于mcisendstring函数进度条控制全部的内容,包括:mcisendstring函数进度条控制、长按键盘只希望响应一次的问题MFC 基于对话框模式、关于VB API 函数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10073267.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存