- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我阅读并尝试了该主题的所有其他帖子,但没有任何帮助。当我尝试使用 Mix_PlayChannel() 播放音乐时,我没有收到错误消息,也没有听到任何声音!我现在尝试了几个小时,但没有任何帮助。程序愉快地结束了。但是没有声音!我正在使用 Ubuntu 12.04 64 位。
谢谢!
[编辑]
这是我使用的代码:
#include <iostream>
#include <SDL/SDL.h>
#include <SDL/SDL_mixer.h>
int main(int argc, char** argv) {
Mix_Music *music = NULL;
Mix_Chunk *wave = NULL;
SDL_Init(SDL_INIT_AUDIO);
int audio_rate = 44100;
Uint16 audio_format = AUDIO_S16; /* 16-bit stereo */
int audio_channels = 1;
int audio_buffers = 4096;
if(Mix_OpenAudio(audio_rate, audio_format, audio_channels, audio_buffers) < 0) {
printf("Unable to open audio!\n");
exit(1);
}
if(Mix_Init(MIX_INIT_MOD) != MIX_INIT_MOD)
std::cout << "errer";
Mix_Volume(-1, MIX_MAX_VOLUME);
music = Mix_LoadMUS("1.wav");
wave = Mix_LoadWAV("1.wav");
if (music == NULL) {
std::cout << "Could not load 1.wav\n";
std::cout << Mix_GetError();
}
if (wave == NULL) {
std::cout << "Could not load 1.wav\n";
std::cout << Mix_GetError();
}
Mix_VolumeChunk(wave, MIX_MAX_VOLUME);
Mix_VolumeMusic(MIX_MAX_VOLUME);
Mix_PlayMusic(music, 0);
std::cout << Mix_GetError();
Mix_FadeInChannelTimed(-1, wave, 0, 100,1);
std::cout << Mix_GetError();
return 1;
}
我同时尝试了 PlayMusic() 和 Mix_FadeInChannelTimed()。两个文件都已正确加载但未播放。声音没有静音,wav 文件可以用 aplay 或其他工具播放。我用 alsamixer 检查所有 channel 是否打开并且不是太低。
最佳答案
我现在发现程序需要一直运行到声音播放完!我在播放命令后添加了一个 usleep() 命令,它播放得很好。因此,PlayMusic() 不会继续运行这一点真的没有被提及。
关于c++ - SDL_mixer 没有声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17472514/
我正在浏览 this tutorial使用 SDL_mixer 在音频上一切正常。 在那之后,我决定通过探索进行实验、玩耍和学习,所以我制作了一个非常相似的程序,有两个声道,让我播放一些视频游戏音乐,
我正在尝试获取一些开源C ++代码以在xcode中进行编译。它使用SDL库。我为OS X安装了downloaded SDL 2.0并安装了它,并且一切正常-但下载的文件似乎并未包含SDL_mixer.
基本信息: 编程语言 - C++ 平台 - Windows 音频格式 - wav 和 mid 我最近完成了一款游戏,并且正在四处寻找将其上传到文件托管站点的最佳方式。我最终决定使用 7zip 的自解压
如果某个点在范围内,我的程序需要停止播放声音,因为我有一个带有函数 run() 的类,它在单独的线程上运行并使用 SDL.hgetPos())) { print
好了,问题来了。我开始学习 SDL,并想为我为学校项目制作的这个“游戏”添加一些音频。音频无法从我的程序中播放,但我阅读和下载的教程代码中包含音频并可以播放。我真的很困惑为什么我的音频无法播放,但我知
我阅读并尝试了该主题的所有其他帖子,但没有任何帮助。当我尝试使用 Mix_PlayChannel() 播放音乐时,我没有收到错误消息,也没有听到任何声音!我现在尝试了几个小时,但没有任何帮助。程序愉快
我想知道 SDL_Mixer 库中是否有跳转到 wav 文件中特定位置的功能。我发现有一个名为 Mix_SetMusicPosition 的函数,但它不适用于 .wav 文件,也不允许您选择 chan
我遇到了一个奇怪的问题。我想在我的游戏中加入声音。这是一个有两个阶段的游戏。角色扮演游戏之一和战斗之一。在角色扮演游戏中,您可以在踩到怪物时发动战斗。在我的代码中,我使用了 3 次 SDL_mixer
嗨,我正在尝试在这里触发多个音乐播放,这里有一些代码。 Mix_Music *mix_list[MUSIC_COUNT] ; //init music with SDL int
我正在尝试获取一些开源 C++ 代码以在 xcode 中进行编译。它使用 SDL 库。我downloaded适用于 OS X 的 SDL 2.0 并安装了它,一切正常 - 但下载的文件似乎不包含文件
我有一个程序可以使用 SDL_mixer 库 ( http://www.libsdl.org/projects/SDL_mixer/ ) 播放一些声音。当我只使用 Mix_OpenAudio 打开与默
我有 4 个声音。我需要播放声音1,当它结束时,自动播放声音2;当声音 2 结束时,自动播放声音 3。声音 3 结束时,播放声音 4....我正在使用 SDL Mixer 2.0,没有 SDL Sou
我在使用 SDL_Mixer 时遇到了问题(我缺乏经验)。 block 和音乐播放得很好(使用 Mix_PlayChannel 和 Mix_PlayMusic),同时播放两个不同的 block 不是问
我正在使用 SDL 和 SDL_mixer 库,在编译时遇到以下错误: .... game.cpp:(.text+0x88f): undefined reference to `Mix_OpenAud
我想写一个简单的控制台音乐播放器,它支持 .mp3 和 .wav 音频格式。使用 SDL_mixer 播放 .wav 文件会降低声音质量,但使用 mp3 文件则不会。当 .wav 文件开始播放时,会发
我使用 SDL2_Mixer 在 Linux Ubuntu 16.04 上播放声音。 这是我的类(class)代码。 bool SoundPlayer::init() { if (SDL_In
我正在使用 SDL_Mixer 在我的 C++ 游戏中实现声音,但在 the manual 中找不到函数那会给我当前正在播放的 Mix_Music。我想我需要它来了解我是否可以释放 Mix_Music
目前SDL_Mixer有两种声音资源:chunk和music。 除了 API 和支持的格式限制外,是否有任何理由不将音乐作为 SDL_Chunk 和 channel 加载和播放? (内存、速度等) 最
我正在制作一个简单的游戏,当玩家接近正在玩的关卡结束时,它的音频速度应该会增加。所以现在我想知道是否有办法使用 SDL_Mixer 来做到这一点。如果 SDL_Mixer 不是要走的路,请告诉我如何在
我有一个使用 GLFW 进行窗口创建和输入的游戏。是否可以在没有 SDL 的情况下将 SDL_mixer 用于音频? 最佳答案 不,你不能。 因为它依赖于 SDL header 。在 SDL_mixe
我是一名优秀的程序员,十分优秀!