【发布时间】:2015-01-26 11:09:40
【问题描述】:
我有一个图片框,其中有一个 My.Resources 链接到存储在 Tag 属性中的 .mp3 文件:
PictureBox1.Tag = My.Resources.AudioFile
然后我尝试将其加载到 Windows Media Player 对象中
Dim Player As New WindowsMediaPlayer
Player.URL = PictureBox1.Tag
Player.controls.play()
当我尝试这个时,我得到了错误:
从“Byte()”类型到“String”类型的转换无效。
凭直觉我尝试了My.Resources.AudioFile.ToString但这产生了错误:
所选文件的扩展名 (.Byte[]) 无法被 Windows Media Player 识别,但播放器仍然可以播放它。由于播放器不知道扩展名,因此您应该确保该文件来自可信赖的来源。
我真的不希望用户每次播放声音时都必须接受这个对话框。有没有办法从资源路径转换播放?
【问题讨论】:
-
WMP 只支持从文件播放,不能直接使用资源。这将是不使用资源的一个很好的理由。它们还使您的内存占用相当大。如果你想这样做,那么你必须将你的资源写入一个文件。选择任何文件,使用 File.WriteAllBytes() 将您的资源写入文件。并将 URL 属性设置为该文件。
标签: vb.net embedded-resource windows-media-player