VB自制RM文件转换器
软件世界
RealProducer是一个编辑RM文件的专用软件,同时具有将其他多种媒体文件转换成RM格式的功能。大家在安装了该软件后,在其安装目录下的Tools文件夹中会有prct3260.ocx控件,它可以被VB调用来自制RM文件转换器。下面,就让我们开始吧。
一、添加控件
启动VB,新建标准EXE,在控件栏中单击鼠标右键,在弹出菜单中选择“部件”,在“部件”窗口中的“控件”框中选择Microsoft Common Dialog Control 6.0以及Real Producer ActiveX Control Library两个控件(如(图1)),单击“确定”,完成这两个控件的调用。加入后的控件栏如(图2)。然后在窗体中添加以上两个控件,同时还要添加4个CommandButton(按钮)、两个TextBox(文本框)、三个Label(标签)和一个Timer(计时器)。


二、控件属性修改
设置CommonDialog控件的CancelError属性为True;Timer控件的Interval属性为1;4个CommandButton的Caption属性依次为:转换、停止、浏览、另存为;两个TextBox的Text属性都为“空”;三个Label控件,其中两个的Caption属性分别为“来源文件:”和“输出文件:”,另一个的Caption属性为“开始转换了!”Visible属性为False。完成后如(图3)。

三、编写代码
1.在“浏览”按钮的Click事件中加入如下代码:
On Error GoTo a: '当在打开文件窗口中选择取消时的处理
CommonDialog1.Filter="多媒体文件(avi,mov,wav,mpg,mpeg,mp3,dat)|*.avi;*.mov;*.wav;*.mpg;*.mpeg;*.mp3;*.dat" '定义要转换文件类型
CommonDialog1.ShowOpen
Text1.Text = CommonDialog1.FileName '显示文件路径
ProducerControl1.InputFilename = Text1.Text '将路径提供给转换控件
a:
2.在“另存为”按钮的Click事件中加入如下代码:
On Error GoTo a: '当在另存为窗口中选择取消时的处理
CommonDialog1.Filter = "Real 媒体文件 (*.rm)|*.rm" '定义转换后的文件类型
CommonDialog1.ShowSave
Text2.Text = Left(CommonDialog1.FileName, InStr(CommonDialog1.FileName,".")) &"rm" '显示保存文件路径
ProducerControl1.OutputFilename = Text2.Text '将路径提供给转换控件
a:
If CommonDialog1.CancelError = False Then
Text2.Text = ""
Else
End If
3.在“转换”按钮的Click事件中加入如下代码:
ProducerControl1.StartEncoding '开始执行转换
Timer1.Enabled = False
Command1.Enabled = False
Command2.Enabled = True
Command3.Visible = False
Command4.Visible = False
Text1.Visible = False
Text2.Visible = False
Label1.Visible = False
Label2.Visible = False
Label3.Visible = True
4.在“停止”按钮的Click事件中加入如下代码:
ProducerControl1.StopEncoding '停止转换
Command1.Enabled = True
Command2.Enabled = False
Command3.Visible = True
Command4.Visible = True
Timer1.Enabled = True
Text1.Visible = True
Text2.Visible = True
Label1.Visible = True
Label2.Visible = True
Label3.Visible = False
5.在Timer控件的Timer事件中加入如下代码:
If Text1.Text <> "" And Text2.Text <> "" Then '监控当前状态对按钮进行限制
Command1.Enabled = True
Else
Command1.Enabled = False
Command2.Enabled = False
End If
6.在ProducerControl控件的OnEncodingStopped停止事件中加入如下代码:
Label3.Visible = False
If Command2.Value = False Then
MsgBox ("转换结束!") '弹出消息窗口,通知转换完成
Command2.Value = True
Else
End If
以上就是一个简单的RM文件转换器。
另外ProducerControl控件有许多的属性可以用来进行调整输出文件的质量。例如,通过改变AudioContent属性的值可以设置“音频内容”;通过改变VideoQuality属性的值可以设置“视频品质”;通过改变VideoNoiseFiltering属性的值可以设置“噪音过滤器”。多数RealProducer可以调节的功能,在控件中都有相应的属性可以设置。
注:以上程序在Win98、VB6.0调试成功。