相关疑难解决方法(0)

如何从头开始创建声音C#

我正在尝试用C#构建一个虚拟钢琴,想要一种从头开始创建音符音阶的方法.

我知道我可以简单地找到或创建一堆.wav文件,每个音符1个,但是这会在用户的硬盘上创建太多空间,并且对我自己来说不是很直观.

那么有没有办法在不使用.wav文件的情况下在C#中创建一个合适的声音 - 例如B flat,所有代码都是#,如果没有,有没有办法用不同的语言 - C++.

谢谢,我尽力让它变得清晰.

c# c++ audio file audio-player

15
推荐指数
1
解决办法
4101
查看次数

Win32 - 使用 MCISendString 进行 Midi 循环

我正在制作游戏,我正在使用 MIDI 文件作为背景音乐。这是我目前使用的代码:

void Game::play_music()
{
    // Start the music:
    if(map.levelnumber % 2 == 0)
    {
        mciSendString(L"open MUSIC01.MID type sequencer alias Music1", NULL, 0, NULL);
        mciSendString(L"play Music1", NULL, 0, NULL);
        playing = "Music1";
    } else {
        mciSendString(L"open MUSIC02.MID type sequencer alias Music2", NULL, 0, NULL);
        mciSendString(L"play Music2", NULL, 0, NULL);
        playing = "Music2";
    }
}
Run Code Online (Sandbox Code Playgroud)

这很好用,除了它只播放一遍歌曲。我试图通过在 mci play 命令中添加“repeat”来循环播放,但它根本不播放任何内容。如何循环播放音乐?

c++ audio winapi

5
推荐指数
1
解决办法
1816
查看次数

标签 统计

audio ×2

c++ ×2

audio-player ×1

c# ×1

file ×1

winapi ×1