社区
C++ Builder
帖子详情
怎样判断MediaPlayer控件播放声音时的位置?
yg2000
2001-07-30 04:25:38
例如:(MediaPlayer->Position=结束时的代码怎样写?)
...全文
146
13
打赏
收藏
怎样判断MediaPlayer控件播放声音时的位置?
例如:(MediaPlayer->Position=结束时的代码怎样写?)
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yg2000
2001-08-04
打赏
举报
回复
MediaPlayer这个控件不知怎么啦!!!不但没有进度条也没有判断结束的代码可写,同时ModeChange事件也没有,把MediaPlayer事件放在FormCreate下通不过,在FormActivate和FormShoow事件下能自动播,但只做一次了事,第二个条件不再执行了;放在TimerTimer下却能运行但声音不正常,时钟和播放器冲突。我在VB3.0下用MCIWnd控件都做成了英语单词自动播放了。谁能举例说明一下,我会另加 分分分分 的。
下面一段代码帮我看一下怎么实现。
播放wav和Avi用MediaPlayer
播放midi用mci,代码如下:
打开设备: //代码放什么地方?写到FormOnCreate上,运行时在下面的 "MCIERROR mciError;"上通不过。
MCIERROR mciError;
char outBuf[100];
AnsiString Cmd="open ";
Cmd=Cmd+File+ " type sequencer alias "+Alias; //"type sequencer alias "怎么用
// File:midi文件
mciError=mciSendString(
Cmd.c_str(),outBuf,sizeof(outBuf),File);
if(mciError)
{
mciGetErrorString(mciError,outBuf,sizeof(outBuf));
Application->MessageBox(outBuf,"错误",
MB_SYSTEMMODAL+MB_OK+ MB_ICONSTOP);
}
播放midi://是写到控件上的单击事件上吧?或写到FormOnCreate上吧?
AnsiString Cmd="play ";
Cmd=Cmd+" "+Alias+" notify"; //怎么用"Alias"?我写上文件也不好使。
HWND hWnd=Application->Handle;
MCIERROR mciError=mciSendString(Cmd.c_str(),NULL,0,hWnd);
if(mciError)
{
char Buf[100];
mciGetErrorString(mciError,Buf,sizeof(Buf));
Application->MessageBox(Buf,"错误",
MB_SYSTEMMODAL+MB_OK+ MB_ICONSTOP);
}
luhongjun
2001-08-03
打赏
举报
回复
使用MCI:例如
播放wav用playsound
播放midi用mci,如下
打开设备
MCIERROR mciError;
char outBuf[100];
AnsiString Cmd="open ";
Cmd=Cmd+File+ " type sequencer alias "+Alias;
// File:midi文件
mciError=mciSendString(
Cmd.c_str(),outBuf,sizeof(outBuf),File);
if(mciError)
{
mciGetErrorString(mciError,outBuf,sizeof(outBuf));
Application->MessageBox(outBuf,"错误",
MB_SYSTEMMODAL+MB_OK+ MB_ICONSTOP);
}
播放midi
AnsiString Cmd="play ";
Cmd=Cmd+" "+Alias+" notify";
HWND hWnd=Application->Handle;
MCIERROR mciError=mciSendString(Cmd.c_str(),NULL,0,hWnd);
if(mciError)
{
char Buf[100];
mciGetErrorString(mciError,Buf,sizeof(Buf));
Application->MessageBox(Buf,"错误",
MB_SYSTEMMODAL+MB_OK+ MB_ICONSTOP);
}
停止播放
MCIERROR mciError;
AnsiString Cmd="stop ";
Cmd=Cmd+Alias;
mciError=mciSendString(Cmd.c_str(),NULL,0,NULL);
if(mciError)
{
char Buf[100];
mciGetErrorString(mciError,Buf,sizeof(Buf));
Application->MessageBox(Buf,"错误",
MB_SYSTEMMODAL+MB_OK+ MB_ICONSTOP);
}
关闭设备
AnsiString Cmd="close ";
Cmd=Cmd+Alias;
mciSendString(Cmd.c_str(),NULL,0,NULL);
路人丁
2001-08-01
打赏
举报
回复
激活和显示的概念是不一样的!
路人丁
2001-08-01
打赏
举报
回复
你写在FormActivate下岂不是每次窗体被激活都要重新播放?
路人丁
2001-08-01
打赏
举报
回复
你把程序写在窗体OnShow()事件下!
yg2000
2001-08-01
打赏
举报
回复
ddeng(登登)你好!! 你说__哪来的MediaPlayer->Close();??? __我的程序一运行,只要符合条件就会播放音乐的,但播放完后应该自行关闭才好呀。
yg2000
2001-08-01
打赏
举报
回复
ddeng(登登) 和 dingzhenhhy(人言落日是天涯,望及天涯不见家(快疯了) 你们好!!看来只能处处设防了(关闭子窗体或退出应用程序时都得先让主窗体上的MediaPlayer->Close();了,否则关闭子窗体时会重播的(因为我的程序是写在FormActivate下,写在FormCreate下通不过),而关闭主窗体时会死机的。
用MediaPlayer->EndPos也不好用。象 VB3 中的MCI控件它有播放位置显示条,在BCB里我一直没找到写播放位置的例子。
yushaofeng
2001-08-01
打赏
举报
回复
我也想知道?
路人丁
2001-08-01
打赏
举报
回复
你把关闭MedioPlayer代码写在OnCloseQuery()中
yg2000
2001-08-01
打赏
举报
回复
我的软件是象东方快车一样总浮在窗体顶上,或其它三边。打开Windows后就浮在窗体顶上,根据
我的初始化设置自动进行播音,当我要关闭时,输入密码先关闭MedioPlayer播放器再退出程序。
你说:“你写在FormActivate下岂不是每次窗体被激活都要重新播放? ”是的,但只好先关播放器再关某一窗体了。看来还是个难题,慢慢来了。
路人丁
2001-07-31
打赏
举报
回复
呵呵我又来了~!
你是想随时关闭媒体播放器?
ddeng
2001-07-31
打赏
举报
回复
可能能用MediaPlayer->EndPos,不过哪来的MediaPlayer->Close();???
yg2000
2001-07-31
打赏
举报
回复
我不知道是否题难还分少?怎么没人进来呀!!!!!!!我现在只好用别的办法来解决它了。
如果我能知道 if( MediaPlayer->Position=结束) 就可随时及时直接让 MediaPlayer->Close(); 那该多好呀!!
MediaPlayer
控件
属性描述
###
MediaPlayer
控件
属性详解 #### 1. AllowChangeDisplaySize - **描述**:此属性返回或设置最终用户是否能够更改显示尺寸。 - **类型**:逻辑型 - **应用场景**:当设置为真(True)
时
,最终用户可以通过用户界面...
GLSurfaceView
控件
通过
MediaPlayer
播放
视频
GLSurfaceView
控件
实现 GLSurfaceView.Renderer , SurfaceTexture.OnFrameAvailableListener接口,通过
MediaPlayer
播放
本地视频
Mediaplayer
做音乐
播放
在本文中,我们将深入探讨如何使用`
MediaPlayer
`类在Windows Forms应用程序中实现音乐
播放
功能,以及如何通过窗体源码实现
声音
大小调节、
播放
进度控制和暂停等常见操作。`
MediaPlayer
`是.NET Framework中用于多媒体...
VB怎样在点击按钮同
时
播放
声音
.zip
首先需要在表单上添加
MediaPlayer
控件
,并将要
播放
的
声音
文件(如WAV格式)添加到
MediaPlayer
控件
的属性中。然后,在按钮的Click事件处理程序中,通过设置
MediaPlayer
控件
的某些属性或调用方法来
播放
声音
。 在实现...
PB9.0按钮
播放
声音
如果使用ActiveX组件,例如Microsoft的
MediaPlayer
控件
,你可以在PowerBuilder中创建一个OLE对象,然后调用其方法来
播放
声音
。这需要在PB的Object窗口中引入
MediaPlayer
控件
,并在代码中实例化和控制它: ```pascal...
C++ Builder
13,871
社区成员
102,693
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章