audio 相关问题

声音和编程音频硬件,以及各种音频格式或容器。有关声音播放的特定问题,请使用[音频播放器]或[播放],对于录音特定的问题,请使用[录音]或[录音]。

NextJs 14.0.4 中的 React TSX 组件无法播放本地 mp3 文件,但可以播放外部在线 mp3 文件

我正在制作一个包装 html 音频和源标签的组件。目前,它在从外部源播放 mp3 文件时有效,例如此声音剪辑 https://interactive-examples.mdn.mozilla.net/m...

回答 1 投票 0

如何将两个字节[]音频块与NAudio混合以检索一个混合字节[]

我是 NAudio 的新手,我需要实现以下目标: 我有一个 sip 事件,它返回一个 uint rtp 缓冲区,我使用以下代码将其转换为 byte[] 块: rtpChunk = 新字节[buflen]; 元帅...

回答 1 投票 0

ffmpeg 水平翻转视频

有人知道我可以使用批处理文件使视频水平翻转吗? 这是我尝试过的批处理文件代码: @回声关闭 ffmpeg -i“1.mp4”-vf hflip -i audio1.mp3 -map 0:v -map 1:a -c:v ...

回答 3 投票 0

Rails:将音频从字节流保存到 ActiveStorage 作为 MP3

我在 Rails 7 应用程序中使用文本转语音 API,但遇到翻译问题。 到目前为止,我已经成功获得了响应 200 的 API(并且我已经与 Insomnia 进行了检查,并且预览结果...

回答 1 投票 0

在终端中合并 M4A 文件

我在 Mac 上有几个 M4A(声音)文件,我想将它们组合成一个声音文件。这可以通过终端命令来完成吗?有这样的事吗

回答 6 投票 0

即使我改变位置,OpenAL 源声音也没有改变

我正在尝试用 openal 实现空间声音,但是无论我如何改变源的位置,声音的音量都不会改变。这是一些示例代码: #包括 我正在尝试用 openal 实现空间声音,但是无论我如何改变源的位置,声音的音量都不会改变。这是一些示例代码: #include <chrono> #include <AL/al.h> #include <AL/alc.h> #include "stb_vorbis.c" double timeDiff(std::chrono::steady_clock::time_point start, std::chrono::steady_clock::time_point stop) { auto dur = std::chrono::duration_cast<std::chrono::duration<double>>(stop - start); return dur.count(); } int main(void) { auto audioDevice = alcOpenDevice(nullptr); auto alContext = alcCreateContext(audioDevice, nullptr); alcMakeContextCurrent(alContext); alDistanceModel(AL_LINEAR_DISTANCE_CLAMPED); ALuint source = 0; alGenSources(1, &source); alSourcei(source, AL_SOURCE_RELATIVE, AL_TRUE); // Added max distance and reference distance, thanks to paddy's comment alSourcef(source, AL_MAX_DISTANCE, 50.f); alSourcef(source, AL_REFERENCE_DISTANCE, 5.f); ALuint buffer = 0; alGenBuffers(1, &buffer); { int spacialAudioChannels = 0, sampleRate = 0; short* hData = nullptr; int samples = stb_vorbis_decode_filename("Cipher2.ogg", &spacialAudioChannels, &sampleRate, &hData); if (hData == nullptr) { printf("Failed to open file Cipher2.ogg"); exit(EXIT_FAILURE); } auto alFormat = spacialAudioChannels == 1 ? AL_FORMAT_MONO16 : AL_FORMAT_STEREO16; alBufferData(buffer, alFormat, hData, samples * sizeof(short), sampleRate); free(hData); } alSourcei(source, AL_BUFFER, buffer); alSourcePlay(source); auto startTime = std::chrono::steady_clock::now(); while (timeDiff(startTime, std::chrono::steady_clock::now()) < 180.0) { double percentElasped = timeDiff(startTime, std::chrono::steady_clock::now()) / 180.0; float pos[] = { percentElasped * 100.f, 0.f, 0.f }; alSourcefv(source, AL_POSITION, pos); } } 我正在使用 stb vorbis 加载 ogg 文件。然后我计算已经过去的时间百分比,最后将源位置设置为该百分比。 这应该会产生声源远离听者的效果,并使声音随着时间的推移变得更安静。问题是音量保持不变。 我下载并安装了最新的 OpenAL SDK (Windows) 并复制了您的代码。我没有乱搞音频文件,而是生成了 5 秒单声道 440Hz 波形。这工作正常。 所以,我决定尝试立体声,发现它根本没有衰减。在阅读 alBufferData 的 documentation 时,我在备注部分看到以下评论: 包含多个数据通道的缓冲区 将在没有 3D 空间化的情况下播放。 我想说这可能是您问题的症结所在。您可能有一个立体声音频文件。尝试将其转换为单声道。 这是我的测试程序,它将音频源从最左移动到最右: #include <cmath> #include <chrono> #include <vector> #include "al.h" #include "alc.h" template <typename T, typename TimePoint> T timeDiff(TimePoint start, TimePoint stop) { auto dur = std::chrono::duration_cast<std::chrono::duration<T>>(stop - start); return dur.count(); } std::vector<short> generateWave(int sampleRate, float durationSeconds, float frequencyHz, bool stereo) { std::vector<short> samples; int numChannels = stereo + 1; int numSamples = static_cast<int>(sampleRate * durationSeconds) * numChannels; samples.reserve(numSamples); for (int t = 0; t < numSamples; t++) { double amplitude = sin(3.1415927 * 2.0 * frequencyHz * t / sampleRate / numChannels); samples.push_back(static_cast<short>(amplitude * 32767)); } return samples; } int main() { using Clock = std::chrono::steady_clock; const bool stereo = false; const int sampleRate = 44100; const float waveFrequencyHz = 440.f; const float playTimeSeconds = 5.f; const float maxDistance = 50.f; const float refDistance = 5.f; // Init device context auto audioDevice = alcOpenDevice(nullptr); auto alContext = alcCreateContext(audioDevice, nullptr); alcMakeContextCurrent(alContext); alDistanceModel(AL_LINEAR_DISTANCE_CLAMPED); // Create audio source ALuint source = 0; alGenSources(1, &source); alSourcei(source, AL_SOURCE_RELATIVE, AL_TRUE); // Added max distance and reference distance, thanks to paddy's comment alSourcef(source, AL_MAX_DISTANCE, maxDistance); alSourcef(source, AL_REFERENCE_DISTANCE, refDistance); // Create audio buffer ALuint buffer = 0; alGenBuffers(1, &buffer); std::vector<short> samples = generateWave(sampleRate, playTimeSeconds, waveFrequencyHz, stereo); alBufferData(buffer, stereo ? AL_FORMAT_STEREO16 : AL_FORMAT_MONO16, samples.data(), (ALsizei)samples.size() * sizeof(short), sampleRate); // Play audio source alSourcei(source, AL_BUFFER, buffer); alSourcePlay(source); // Animate the audio source from far-left to far-right auto startTime = Clock::now(); for (float elapsed = 0; elapsed < playTimeSeconds; elapsed = timeDiff<float>(startTime, Clock::now())) { float t = elapsed / playTimeSeconds; float x = (t * 2.f - 1.f) * maxDistance; float pos[] = { x, 0, refDistance }; // offset z to avoid artifacts transitioning through origin alSourcefv(source, AL_POSITION, pos); } }

回答 1 投票 0

html 音频标签无法跳转请求的真实范围开始

在下面的音频跳转演示中,1MnxnMOPlkOJO.mp3可以正常点击,然后在请求中传递正确的范围开始并立即播放。 1MnxnMOPlkOJO.aac 没有,它会继续

回答 1 投票 0

使用 Slack API 进行音频文件后期处理

我正在尝试使用 Slack Webclient API 从 slack post 下载音频文件,在“app_memtion”事件处理程序中,我需要检索音频文件并处理它(如果它是音频帖子): @...

回答 1 投票 0

如何在移动应用程序上直播音频并实时输出到外部扬声器(C# .NET MAUI)

我的任务是创建一个移动应用程序功能,用户可以在其中实时传输语音以输出到外部 IP 扬声器。 (海康威视 IP 扬声器 DS-PA0103-B)。 https://www.hikvision.com/uk/prod...

回答 1 投票 0

如何无缝循环背景音频?

该应用程序无限循环地播放一些背景音频(wav)。使用 just_audio 包进行音频播放是完美的,但切换到音频播放器后,所有循环音频现在都包含一个短间隙

回答 3 投票 0

如何将音频文件保存在文件夹中并使用 gtts 从那里播放

我想将我的网页与后端 Flask 应用程序集成。该网页有一个“听取您的回答”按钮,该按钮将播放 gtts 生成的 mp3 文件的录音。但 gtts 不是

回答 1 投票 0

如何在Linux中使用PyAV捕获音频?

我想使用 python 捕获音频以使用安装在 ubuntu 22.04 上的 aiortc 进行流式传输。 我尝试了 av.open(format='alsa', file='default') 和 av.open(format='pulse', file='default'),并得到了 `Value...

回答 1 投票 0

Python 等待变量更改而不停止程序的其余部分

我正在 tkinter 中编写带有 UI 的录音机,当我按下按钮时,它会触发标题为该按钮名称的录音,以及一些数据。当我按下停止按钮时,我想要专业...

回答 1 投票 0

如何利用Expo AV实现背景音频播放

我在使用 Expo AV 库的 Expo 应用程序中遇到背景音频播放问题。当应用程序位于前台时,音频播放工作正常,但当应用程序处于前台时,音频播放会突然停止...

回答 1 投票 0

如何在音频分析中完成我的 C# 程序 [已关闭]

我有一个作业,需要在给定 mp3 输入文件的情况下返回以下内容。这些文件可能长达 12 小时。我已经开始并且可以使用 Naudio 获得前 3 个,但之后的所有内容都是给...

回答 1 投票 0

媒体开始播放时是否有系统广播?

我希望每当媒体开始在 Android 设备上播放时我的应用程序都会收到通知。我似乎找不到发生这种情况时发出的任何系统广播。我知道我可以和audioman确认一下...

回答 1 投票 0

用于插入非音频相关硬件的API?

抱歉,如果这是一个毫无意义的问题,或者是否重复,但出于好奇,我正在寻找一些关于iPhone开发的API,用于插入非音频相关的硬件,例如:读卡器或wh...

回答 1 投票 0

iPhone API 用于录制声音并测量声音频率和功率(db)

我想开发一个简单的iPhone应用程序,可以记录外部声音,并测量声波频率和功率(以分贝为单位),有什么想法如何做到这一点吗?

回答 1 投票 0

iPhone API - 通过音频插孔发送电信号

有人知道iPhone的各种API是否允许这样做,或者即使Apple允许这样做吗? 示例:将某些东西插入音频插孔并将其用作“泰瑟枪”(这只是一个假设/p...

回答 1 投票 0

在同一活动中播放 2 个音频文件

MediaPlayer 工具 = new MediaPlayer(); MediaPlayer 声音 = new MediaPlayer(); 当我单击“播放”按钮时,我需要这两个对象独立工作,并且应该单独播放。 人声

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.