Acmstreamopen error как исправить

У меня программа UVScreenCamera 6 выдает ошибку на Windows 10 64bit после окна «Конвертация звука… 0%»
acmStreamOpen error

Как можно исправить эту ошибку?

В результате данной ошибки видеофайлы создаются, но в них совершенно нет звука.

Версии программы пробовал 6.6, а также 6.9 beta.

Решение проблемы: сохранить звук с полосой 128 Кбит/сек, а не 64 Кбит/сек.

Ошибка возникает, если в проекте 2 звуковых потока (например, запись шла с микрофона и с динамика). Библиотека конвертации звука не в состоянии преобразовать 2 потока пропускной способностью 64 К в один поток такой же пропускной способности.

Запись опубликована в рубрике Без рубрики с метками запись с экрана компьютера. Добавьте в закладки постоянную ссылку.

проблема при окрытии нескольких преобразующих стримов (acmStreamOpen) из одного потока. первый открываеться нормально, остальные возвращают код ACMERR_NOTPOSSIBLE. При этом перед этим делаю acmStreamOpen с флагом ACM_STREAMOPENF_QUERY для все позжеоткрываемых стримов, код возврата MMSYSERR_NOERROR. Такое чувство что в потоке может быть открыт только один преобразующий стрим… помогите плз кто чем может….

—— инициализация форматов ————

UCHAR extMP3DataLow_records[12]    = {0x01,0x00,0x02,0x00,0x00,0x00,0x34,0x00,0x01,0x00,0x71,0x05};
UCHAR extMP3DataMedium_records[12] = {0x01,0x00,0x02,0x00,0x00,0x00,0x68,0x00,0x01,0x00,0x71,0x05};
UCHAR extMP3DataHigh_records[12]   = {0x01,0x00,0x02,0x00,0x00,0x00,0x68,0x00,0x01,0x00,0x71,0x05};

//----------------------------------------------------------
//   44100Hz 16bit mono // digitate quality
//----------------------------------------------------------
m_wfx_wav.wFormatTag           = WAVE_FORMAT_PCM;
m_wfx_wav.nChannels            = 1;
m_wfx_wav.nSamplesPerSec       = 44100;
m_wfx_wav.nAvgBytesPerSec      = 88200;
m_wfx_wav.nBlockAlign          = 2;
m_wfx_wav.wBitsPerSample       = 16;
m_wfx_wav.cbSize = 0;

//----------------------------------------------------------
//   8 kBit/s 11025 mono // low quality
//----------------------------------------------------------
m_wfx_mp3_low.wFormatTag       = WAVE_FORMAT_MPEGLAYER3;
m_wfx_mp3_low.nChannels        = 1;
m_wfx_mp3_low.nSamplesPerSec   = 11025;
m_wfx_mp3_low.nAvgBytesPerSec  = 1000;
m_wfx_mp3_low.nBlockAlign      = 1;
m_wfx_mp3_low.wBitsPerSample   = 0;
m_wfx_mp3_low.cbSize = 12;
memcpy(extMP3Data_low, extMP3DataLow_records, 12);

//----------------------------------------------------------
//   16 kBit/s 11025 mono // medium quality
//----------------------------------------------------------
m_wfx_mp3_med.wFormatTag       = WAVE_FORMAT_MPEGLAYER3;
m_wfx_mp3_med.nChannels        = 1;
m_wfx_mp3_med.nSamplesPerSec   = 11025;
m_wfx_mp3_med.nAvgBytesPerSec  = 2000;
m_wfx_mp3_med.nBlockAlign      = 1;
m_wfx_mp3_med.wBitsPerSample   = 0;
m_wfx_mp3_med.cbSize = 12;
memcpy(extMP3Data_med, extMP3DataMedium_records, 12);

//----------------------------------------------------------
//   32 kBit/s 22050 mono // high quality 
//----------------------------------------------------------
m_wfx_mp3_high.wFormatTag      = WAVE_FORMAT_MPEGLAYER3;
m_wfx_mp3_high.nChannels       = 1;
m_wfx_mp3_high.nSamplesPerSec  = 22050;
m_wfx_mp3_high.nAvgBytesPerSec = 4000;
m_wfx_mp3_high.nBlockAlign     = 1;
m_wfx_mp3_high.wBitsPerSample  = 0;
m_wfx_mp3_high.cbSize = 12;
memcpy(extMP3Data_high, extMP3DataHigh_records, 12);

—————————————-

—— проверка в потоке —————

MMRESULT rez;
rez = acmStreamOpen(&hStream_low , 0, &m_wfx_wav, &m_wfx_mp3_low, 0, 0, 0, ACM_STREAMOPENF_QUERY);
rez = acmStreamOpen(&hStream_med , 0, &m_wfx_wav, &m_wfx_mp3_med, 0, 0, 0, ACM_STREAMOPENF_QUERY);
rez = acmStreamOpen(&hStream_high, 0, &m_wfx_wav, &m_wfx_mp3_high, 0, 0, 0, ACM_STREAMOPENF_QUERY);

—————————————-

—— окрытие стримов в потоке ———

rez = acmStreamOpen(&hStream_low, 0, &m_wfx_wav, &m_wfx_mp3_low, 0, 0, 0, 0);
if( rez != MMSYSERR_NOERROR)
    throw "Can not open convert low data stream";

rez = acmStreamOpen(&hStream_med, 0, &m_wfx_wav, &m_wfx_mp3_med, 0, 0, 0, 0);
if( rez != MMSYSERR_NOERROR)
    throw "Can not open convert med data stream";

rez = acmStreamOpen(&hStream_high, 0, &m_wfx_wav, &m_wfx_mp3_high, 0, 0, 0, 0);
if( rez != MMSYSERR_NOERROR)
    throw "Can not open convert high data stream";

—————————————-

мой ICQ : 158 551 487

Все зависит от конкретного acm-драйвера, который лежит в системе.

И запрос Query может быть там просто нереализован (или работать неправильно).
Проверять лучше так- открыл, закрыл в нормальном режиме.

Первая причина :
Неподдерживается внутреннее преобразование PCM (44100,2,16 -> 22050,1,16).
Следовательно надо завести еще один WAVEFORMATEX и сделать промежуточное преобразование.
Хотя его лучше написать самому. То что есть работает паршиво в смысле качества.

Вторая причина :
Все acm-драйвера MP3, что я видела не работают «во множественном числе».
Поддерживается только один поток.

In my application i have some Audio files those are in .wav Format, Here i am checking Each audio file BitRate , and if any file in below 128Kbps,i changed those files bit rate to 128kbps,by using Below code

int bitrate;
string FullPath = @Server.MapPath("~/AudioFiles/");
string[] filePaths = Directory.GetFiles(FullPath, "*.wav", SearchOption.AllDirectories);
for (int i = 0; i < filePaths.Length; i++)
{
    string[] FileExt = filePaths[i].Split('\');
    string[] Ext = FileExt[FileExt.Length - 1].Split('.');
    string ExtFile = Ext[Ext.Length - 1];
    if (ExtFile == "wav" || ExtFile == "WAV")
    {
        using (var reader = new WaveFileReader(filePaths[i]))
        {
            bitrate = reader.WaveFormat.AverageBytesPerSecond * 8;
            reader.Dispose();
        }
        if (bitrate < 128000)
        {
            using (var reader = new WaveFileReader(filePaths[i]))
            {
                var newFormat = new WaveFormat(8000, 16, 1);
                using (var conversionStream = new WaveFormatConversionStream(newFormat, reader))
                {
                    WaveFileWriter.CreateWaveFile(Server.MapPath("~/AudioFiles/" + FileExt[FileExt.Length - 1]), conversionStream);
                }
            }
    }
}

the above code is working for most of the files, But i get below error for some audio files.enter image description here
how can i solve the issue?

Mark Heath's user avatar

Mark Heath

48.1k29 gold badges137 silver badges194 bronze badges

asked Oct 13, 2016 at 11:48

1

You can typically only change one thing at a time with ACM, so if you have a 16kHz stereo file, you can’t go to an 8kHz mono file in one go.

So you need to see what WaveFormat your WaveFileReader has, and possibly do multiple conversion steps.

It may also be that your input WAV file is using a codec that ACM can’t decode. But again you’d need to examine your input WaveFormat to know that.

answered Oct 13, 2016 at 14:27

Mark Heath's user avatar

Mark HeathMark Heath

48.1k29 gold badges137 silver badges194 bronze badges

Would appreciate some help identifying/fixing the error that is being reported when I try to add a music file to a CUE list:

I 08:11:45 ImgBurn Version 2.5.2.0 started!
I 08:11:45 Microsoft Windows XP Home Edition (5.1, Build 2600 : Service Pack 3)
I 08:11:45 Total Physical Memory: 2,088,428 KB  -  Available: 1,355,620 KB
W 08:11:45 Duplex Secure's SPTD driver can have a detrimental effect on drive performance.
I 08:11:45 Initialising SPTI...
I 08:11:45 Searching for SCSI / ATAPI devices...
I 08:11:45 -> Drive 1 - Info: Optiarc DVD RW AD-7170A 1.05 (E:) (ATA)
I 08:11:45 Found 1 DVD±RW/RAM!
E 08:11:56 AddSourceFilter Failed!
E 08:11:56 File Name: C:Documents and SettingsDawnMy DocumentsMy MusicMary's Boy ChildOh My Lord.wma
E 08:11:56 Reason: Unspecified error
E 08:11:59 acmStreamOpen Failed! - Reason: ACM - Not possible.
E 08:11:59 File Name: C:Documents and SettingsDawnMy DocumentsMy MusicMary's Boy ChildOh My Lord.wma
E 08:12:05 AddSourceFilter Failed!
E 08:12:05 File Name: C:Documents and SettingsDawnMy DocumentsMy MusicMary's Boy ChildOh My Lord.wma
E 08:12:05 Reason: Unspecified error
E 08:12:07 acmStreamOpen Failed! - Reason: ACM - Not possible.
E 08:12:07 File Name: C:Documents and SettingsDawnMy DocumentsMy MusicMary's Boy ChildOh My Lord.wma

Thank you very much, in advance!

:-Daniel

Return to “Technical Support (Windows)”

Forum rules
POSTS HERE ARE PRIVATE. INSTRUCTIONS BELOW:

ALL posts made in this forum are ‘Private‘ so that only you and staff can see them. This allows sharing of personal data, projects and other information. Posts are generally made public after they are marked ‘Solved’ AND there was no personal data contained in them. If you don’t want your post made public let the team know.

We know it’s frustrating when things don’t work. However, please help us to help you by following these suggestions:

  1. Update — Before trying anything else. Download and install the latest version of FL Studio from here. Your bug may be fixed already!
  2. Update plugins — If you are using 3rd party plugins. Look at crash logs for their names. Install the latest version for any you spot. See also Plugins Behaving Badly
  3. Simple clear explanation — Explain what you are doing, or trying to do, and exactly what is happening.
  4. Specific information — a) FL Studio version & build number, b) what you are doing and what happens exactly, c) step-by-step instructions how reproduce the problem.
  5. Screenshots — Another great way to demonstrate issues. Get a free screenshot app here. Include images using the ‘Attachments’ tab, at the bottom of the post edit window.
  6. A video — The best way of demonstrating many issues. Windows 10 includes an integrated screen recorder, see here OR get a free free recorder here. Include mp4 videos to your post from the ‘Attachments’ tab, at the bottom of the post edit window.
  7. Use English — Google Translate your post. Short simple sentences in your original language translate best. We are happy to work this way, no need to worry.

NOTE: Technical Support is ONLY available Monday — Friday (9 am to 5 pm Central European Time), it can take a few days to get a response depending on the level of demand. Thank you for your patience.

[You can only see part of this thread as you are not logged in to the forums]

Josh60502

Tue Mar 30, 2010 7:59 pm


x


Error in acmStreamOpen(). No ACM filter found capable of decoding.

None of the drums under the drum kit packs make any sound, and when I tried to load up Piano 2, I repeatedly got this message: Error in acmStreamOpen(). No ACM filter found capable of decoding. I’m guessing this is a problem with the samples or something? It’s strange, because they all work on my other computer.























Return to “Technical Support (Windows)”

Понравилась статья? Поделить с друзьями:
  • Как найти свое имущество в росреестре
  • Как реально найти мужчину
  • Как найти реакции связей задачи
  • Как найти предел с помощью производной
  • Дистальный прикус как исправить ребенку