【发布时间】:2012-09-10 10:46:34
【问题描述】:
有没有办法在不使用 windows 媒体播放器的情况下在 vb.net 中播放声音。
我已经尝试过 my.computer.audio.play 但这似乎无济于事。 我试过 axshockwaveflash.loadmovie(couldnt find an audio).play
我似乎找不到另一种选择,请问有人有什么建议吗
【问题讨论】:
有没有办法在不使用 windows 媒体播放器的情况下在 vb.net 中播放声音。
我已经尝试过 my.computer.audio.play 但这似乎无济于事。 我试过 axshockwaveflash.loadmovie(couldnt find an audio).play
我似乎找不到另一种选择,请问有人有什么建议吗
【问题讨论】:
使用 My.Computer.Audio.Play() 应该可以工作 - 您是否尝试过传入 WAV 文件的完整(绝对)文件名以查看是否有效。如果您想尝试另一种播放声音的方式,也可以查看这篇 CodeProject 文章 http://www.codeproject.com/KB/audio-video/soundplayerbug.aspx,尽管除非您遇到文章中提到的问题,否则没有必要这样做。
【讨论】:
My.Computer.Audio.Play() 仅支持 WAV 文件,因此您可能需要查看引用媒体播放器:stackoverflow.com/questions/3337110/…
如果您有 swish-max 软件,您所要做的就是打开它的环境,然后通过单击左侧的添加脚本按钮创建一个脚本,选择声音并选择播放声音方法。在脚本环境中单击导入以选择声音。然后点击声音属性,激活“播放时不再播放”,然后降低音量再次播放并点击确定按钮。
在你的项目中,创建一个 shock_wave 对象的实例,右键单击它访问它的属性,在它的 Movie 属性上,指定在 swish_max 中创建的电影的路径 然后运行你的程序。
或
如果你不想在设计中这样做,你创建一个按钮名称 play 并在其下添加以下代码
private sub buttonPlay_Click(Byval sender as object , Byval e as sysyem.eventArgs) 处理_bttonplay.click
Axtshockwave1.movie="把你的电影的路径放在这里引用它"
结束子
【讨论】:
我想避免在项目中添加任何额外的 dll 依赖项, 所以我现在的工作是打电话 Process.run(file);
因为这会调用 Windows 自己的 shell 并运行该程序,如果存在任何程序来运行它,如果不存在,它会为用户提供对它执行任何操作的选项。
【讨论】: