V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Ascotbe
V2EX  ›  C++

请教各位大佬,如何用 C++的警告弹窗演奏一首歌曲

  •  
  •   Ascotbe ·
    Ascotbe · 2019-08-17 21:28:04 +08:00 · 4859 次点击
    这是一个创建于 1951 天前的主题,其中的信息可能已经有所发展或是发生改变。
    17 条回复    2019-08-18 23:47:46 +08:00
    augustheart
        1
    augustheart  
       2019-08-17 21:57:18 +08:00
    先做个演奏歌曲的模块,然后注册操作系统异常处理,在异常的时候转到演奏模块。
    如果我没理解错你的想法的话,你只能这么做。
    blinue
        2
    blinue  
       2019-08-17 22:21:47 +08:00 via Android
    windows 里有 beep 函数,可以指定频率,没搞懂警告弹窗什么意思
    v2byy
        3
    v2byy  
       2019-08-17 22:26:39 +08:00
    有个 xp 之歌
    murmur
        4
    murmur  
       2019-08-17 22:27:13 +08:00
    那不是鬼畜的做法么 直接拉声音到采样器里就可以了 这种频率明显的采样都不需要自己调节 随便康泰克都可以搞定
    ihciah
        5
    ihciah  
       2019-08-17 22:29:33 +08:00 via iPhone
    那直接 winapi 啊
    ysc3839
        6
    ysc3839  
       2019-08-18 00:32:51 +08:00 via Android
    首先 C++ 自身没有“警告弹窗”,你说的可能是操作系统的弹窗和音效。
    其次,这声音音调是固定的,你不做处理大概是演不成一首曲子的。所以严格来说和 C++ 关系不大,更偏向于音乐编辑方面的。当然也不排除你想自己用 C++ 实现一个音乐编辑软件。
    mixplugs
        7
    mixplugs  
       2019-08-18 00:43:34 +08:00 via Android
    如果说是鬼畜那种的话,需要把弹窗声音录下来之后做音频方面的处理。不需要 cpp。
    0x3f3f
        8
    0x3f3f  
       2019-08-18 01:35:56 +08:00 via iPhone
    你可以打出节奏,歌曲旋律就别想了
    autogen
        9
    autogen  
       2019-08-18 02:44:36 +08:00
    B 站那个是 Premiere 做的。。。。弹窗可以用 MessageBox,录屏下来导入到 PR,加 BGM,调速度
    CEBBCAT
        10
    CEBBCAT  
       2019-08-18 08:28:11 +08:00
    你也许可以看看好和弦的作品,比如《我是怎麼做出「柯媽媽」影片的?以及丁丁到底唱了什麼?》这一期。Youtube 上有,Bilibili 可能也有
    Ascotbe
        11
    Ascotbe  
    OP
       2019-08-18 21:10:53 +08:00
    具体怎么实现呢
    Ascotbe
        12
    Ascotbe  
    OP
       2019-08-18 21:11:23 +08:00
    @blinue BEEP 那个我听的难受 网上有源码
    Ascotbe
        13
    Ascotbe  
    OP
       2019-08-18 21:12:11 +08:00
    @ihciah 具体怎么操作? API 那么多
    Ascotbe
        14
    Ascotbe  
    OP
       2019-08-18 21:13:51 +08:00
    @ysc3839 MessageBox 这个 API 有好几种声音的
    Ascotbe
        15
    Ascotbe  
    OP
       2019-08-18 21:14:20 +08:00
    @0x3f3f 对对对就是节奏 可能我没表达清楚,具体怎么做呢大佬
    Ascotbe
        16
    Ascotbe  
    OP
       2019-08-18 21:14:57 +08:00
    @autogen 不能用程序直接做吗
    autogen
        17
    autogen  
       2019-08-18 23:47:46 +08:00
    专业的工具做专业的事。。。

    你要闲的蛋疼用 C++写也可以,我提供一个思路:

    用 cocos2d,弹窗截好图作为一个 sprite,播放 bgm,设置一个定时器动态添加 sprite 就行了,

    当然你用 gdi/directdraw+mmio 也行,

    说白了就是画图,用 Premiere 做比用 C++做更方便一些
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2948 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 11:03 · PVG 19:03 · LAX 03:03 · JFK 06:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.