正文
vb.net资源文件 vbnet reportviewer
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
VB.net 如何同时播放多个资源文件内的wav
用API mciSendString可以同时播放多个声音,需要提供路径。
资源文件很麻烦,要用反射读取出来,再用IO写到磁盘路径。
你是做游戏把?软糖建议是不要使用资源文件,而使用本地文件。
用个BGM文件夹保存背景音乐,用SE文件夹保存音效(学习RPG Maker的做法)
API代码奉上,具体实现模块字数超过最大值,请下载附件
Imports System.Text
''' summary
''' 可播放MPEG,AVI,WAV,MP3,MID,WMA等格式的音频文件,*不支持OGG
''' /summary
Public Class 音频设备
'声明API函数: mciSendString
System.Runtime.InteropServices.DllImport("winmm.dll", EntryPoint:="mciSendString")
Public Shared Function mciSendString(strCommand As String,
strReturn As StringBuilder,
iReturnLength As Integer,
hwndCallback As Integer) As Integer
End Function
'声明API函数: mciGetErrorString
System.Runtime.InteropServices.DllImport("winmm.dll", EntryPoint:="mciSendString")
Public Shared Function mciGetErrorString(errCode As Integer,
errMsg As StringBuilder,
buflen As Integer) As Integer
调用方法
Public Class Form1
Dim 音频设备 As New 音频设备
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim 路径 = "F:\音乐文件名.mp3"
音频设备.打开("自定义名称1", 路径)
音频设备.播放("自定义名称1")
'音频设备.暂停("自定义名称1")
'音频设备.继续("自定义名称1")
'音频设备.关闭("自定义名称1")
End Sub
End Class
如满意,请采纳,还有不懂的请追问,谢谢。
如何把VB.NET内部资源文件复制到磁盘上
可以查看附件,或则使用以下代码。应该注释的满全了。
随便建一个窗口工程,窗口代码帖入以下代码。
Imports System.IO
Imports System.Text
Imports System.Reflection
Public Class Form1
Const ResName As String = "123.txt" ' 需要保存的资源名
Const BufferSize As Integer = 4096 ' 复制时缓冲的大小
Private Sub Demo()
' 变量声明
Dim strDisplayText As StringBuilder ' 保存输出信息
Dim strResName As String ' 保存目标资源的名称
' 变量初始化
strDisplayText = New StringBuilder()
strResName = String.Empty
' 获取所有资源
strDisplayText.AppendLine("文件中存在以下资源:")
For Each strName As String In Assembly.GetExecutingAssembly.GetManifestResourceNames()
strDisplayText.AppendLine(" " strName)
' 获得目标资源的全名
If strName.EndsWith("." ResName) Then
strResName = strName
End If
Next
' 目标资源不存在
strDisplayText.AppendLine()
If strResName = String.Empty Then
strDisplayText.AppendLine("抱歉,没有找名为""" ResName """的资源")
Else ' 复制资源的代码
' 打开资源文件,在End Using的时候自动关闭。
Using ms As UnmanagedMemoryStream = Assembly.GetExecutingAssembly.GetManifestResourceStream(strResName)
' 打开磁盘文件,在End Using的时候自动关闭。
Using fs As New FileStream("C:\" ResName, FileMode.Create)
' 变量声明
Dim Buffer(BufferSize - 1) As Byte ' 复制文件时的缓冲数组
Dim ReadCount As Integer ' 此次读取数据的数量
' 还有数据可以读取的情况,一直循环
ReadCount = ms.Read(Buffer, 0, BufferSize)
While ReadCount 0
fs.Write(Buffer, 0, ReadCount) ' 写入到磁盘文件
ReadCount = ms.Read(Buffer, 0, BufferSize)
End While
End Using
End Using
strDisplayText.AppendLine("文件已经复制完毕。")
End If
' 显示消息
MessageBox.Show(strDisplayText.ToString())
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call Demo()
End
End Sub
End Class
VB.net 释放资源文件
你也遇到这样的问题,我也是刚解决,下面代码
我的文件在资源中类型为
array
Dim
resources
As
System.Resources.ResourceManager
=
My.Resources.ResourceManager
Dim
b()
As
Byte
=
resources.GetObject("psd文件在资源中的名称")
Dim
s
As
IO.Stream
=
File.Create(Filepath)'要保存的路径
s.Write(b,
0,
b.Length)
s.Close()
vb.net资源文件的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vbnet reportviewer、vb.net资源文件的信息别忘了在本站进行查找喔。