gpt4 book ai didi

c# - WMP 声音在其他计算机上不起作用

转载 作者:行者123 更新时间:2023-12-03 00:56:58 25 4
gpt4 key购买 nike

我的项目是构建一个简单的游戏,现在我只制作了主菜单 Form1有 5 个按钮。按钮有 MouseClickMouseEnter在他们身上,我有一个使用 WMP 方法(使用 WMPLib 和 axWMPLib)的背景音乐轨道。

我的问题是当我服用 bin/debug把它放在 rar文件并给我的 friend ,他们说他们听不到声音。我通过 WMP 版本 11 制作了该项目,所以我问他们的 WMP 版本是否为 11,他们说是的。我不知道为什么我在我的电脑上听到声音而他们却没有。

我试图给他们文件夹:

  • bin\Release
  • bin\Debug
  • x86\Release
  • x86\Debug

  • 但他们仍然说他们听不到他们所有人的任何声音。

    编辑

    我所有的声音都在一个名为“声音”的文件夹中。我找到了一些细节,发现您需要将这些 WMP 声音嵌入到“资源”中。

    那么我该怎么做,以及在 Form1 时如何称呼他们加载。不,以下代码不起作用:
    BackGround.URL = Properties.Resources.Invincible;

    它说我无法转换 System.IO.UnmanagedMemoryStreamString .

    最佳答案

    真心不推荐你用WMP,看看SoundPlayer类(class)。
    但是我认为问题在于您没有为文件提供正确的位置。所以你可以做的是在你的应用程序文件夹中找到你的文件,获取它的位置并创建音乐文件的位置。

    所以试试:

    string musicName = Application.StartupPath + "music.mp3";

    或者,如果您在应用程序路径中有 Sounds 文件夹,请使用:
    string musicName = Application.StartupPath + "\\Sounds\\music.mp3";

    否则,如果您在应用程序资源中插入音乐文件:
    BackGround.URL = Properties.Resources.Invincible;

    没用,因为 BackGround.URL是字符串类型,而 Properties.Resources.Invincible是音乐文件流。

    我不知道是否使用 WMP 可以设置流从它可以播放文件的位置。虽然 SoundPlayer我之前链接的类包含一个属性,您可以在其中设置输入流。你可以这样做:
    SoundPlayer mySoundPlayer = new SoundPlayer();
    mySoundPlayer.Stream = Properties.Resources.Invincible;
    mySoundPlayer.Load();
    mySounPlayer.Play(); //plays the Properties.Resources.Invincible sound

    关于c# - WMP 声音在其他计算机上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12619793/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com