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



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

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

мой ICQ : 158 551 487

От: Аноним
Дата: 16.01.04 12:11
Оценка:

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

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

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

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

Источник

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

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.
Читайте также:  Network named pipes provider error 40

NOTE: Technical Support is ONLY available Monday — Friday (9 am to 5 pm Central European Time), thank you.

Источник

acmStreamOpen()

The whole ACM codec stuff is a big mess. It was not thought out too clearly from the start, so ther’s plenty of cant-get-there-from-here’s .

The only saving grace is that you can almost always convert to the lowest-common-denominator, the misaptly named «PCM» fornat. Then you can use the PCM codec to convert sampling rates and/or number of bits and channels. Then if you have to, you can use the original codec backwards to restore the original compression format.

Also lookup all the enumeration API’s, which sort-of sideways give you some of the info on the capbilities of each codec. Sort of.

There are formats that cannot be converted. Example, the Microsoft G 723 sound codec. You cannot open the sound device with it and you cannot use ACM to convert to it for unknown reasons.

Try using PCM with codecs known to work like DSP Truespeech, ACELP.NET , Lernout & Hauspie etc.

Try , instead of converting, to open the wave device with waveInOpen, specifying the ACELP.NET codec (or another) in the WAVEFORMATEX structure.
Note that additional bytes might be needed by the structure for the codec to work.

Paste your code.

waveFmt.wFormatTag = WAVE_FORMAT_PCM;
waveFmt.nChannels = 1;
waveFmt.nSamplesPerSec = SAMPLES_PER_SEC;
waveFmt.wBitsPerSample = BITS_PER_SAMPL;
waveFmt.nAvgBytesPerSec = waveFmt.nSamplesPerSec * waveFmt.nChannels; // SamplesPerSecond * Channels
waveFmt.nBlockAlign = waveFmt.nChannels * waveFmt.wBitsPerSample / 8; // (Channels * BitsPerSample) / 8
waveFmt.cbSize = 0;

//pwfDrv I get from FormatEnumProc

HACMSTREAM hstr = NULL;
MMRESULT mmr = acmStreamOpen(&hstr,
NULL, // Driver handle
&waveFmt, // Source format
&pwfDrv, // Destination format
NULL, // No filter
NULL, // No callback
0, // Instance data (not used)
ACM_STREAMOPENF_NONREALTIM E); // Flags
if (mmr) <
switch(mmr) <
case ACMERR_NOTPOSSIBLE:
printf(«acmStreamOpen — The requested operation cannot be performed.\n»);
break;
case MMSYSERR_INVALFLAG:
printf(«acmStreamOpen — At least one flag is invalid.\n»);
break;
case MMSYSERR_INVALHANDLE:
printf(«acmStreamOpen — The specified handle is invalid.\n»);
break;
case MMSYSERR_INVALPARAM:
printf(«acmStreamOpen — At least one parameter is invalid.\n»);
break;
case MMSYSERR_NOMEM:
printf(«acmStreamOpen — The system is unable to allocate resources.\n»);
break;
default:
printf(«Failed to open a stream to do PCM to driver format conversion\n»);
>
exit(1);
>

Читайте также:  Arduino error expected initializer before token

// Allocate a buffer for the result of the conversion.
// Compute the output buffer size based on the average byte rate
// and add a bit for randomness.
// The IMA_ADPCM driver fails the conversion without this extra space.
float p1 = (float)pwfDrv.nSamplesPerS ec, p2 = (float)waveFmt.nSamplesPer Sec, p3 = (float)pwfDrv.wBitsPerSamp le, p4 = (float)waveFmt.wBitsPerSam ple;
DWORD dwDst2Bytes = (DWORD) (p1 / p2 * DataSize * p3 / p4);
dwDst2Bytes = dwDst2Bytes * 3 / 2; // add a little room
BYTE* pDst2Data = new BYTE [dwDst2Bytes];

// Fill in the conversion info.
ACMSTREAMHEADER strhdr2;
memset(&strhdr2, 0, sizeof(strhdr2));
strhdr2.cbStruct = sizeof(strhdr2);
strhdr2.pbSrc = (unsigned char *)WaveData[j]; // the source data to convert
strhdr2.cbSrcLength = DataSize;
strhdr2.pbDst = pDst2Data;
strhdr2.cbDstLength = dwDst2Bytes;

// Prep the header.
mmr = acmStreamPrepareHeader(hst r, &strhdr2, 0);

// Convert the data.
mmr = acmStreamConvert(hstr, &strhdr2, 0);
if (mmr) <
printf(«Failed to do PCM to driver format conversion\n»);
exit(1);
>
if (strhdr2.fdwStatus == ACMSTREAMHEADER_STATUSF_DO NE)
printf(«done\n»);
u = strhdr2.cbDstLengthUsed;
printf(«Converted OK: %d\n», u);
// Close the stream and driver.
mmr = acmStreamClose(hstr, 0);

Источник

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

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.
Читайте также:  Security error lg e455 что делать

NOTE: Technical Support is ONLY available Monday — Friday (9 am to 5 pm Central European Time), thank you.

Источник

Forum

Notice to all users

We are migrating towards a new forum system located at community.teamspeak.com, as such this forum will become read-only on January 29, 2020

  • Forum
  • TeamSpeak Legacy Versions
  • [TeamSpeak Classic] General Questions
  • TS error acmStreamOpen: The requested operation cannot be performed.

Thread: TS error acmStreamOpen: The requested operation cannot be performed.

Thread Tools
Rate This Thread
Display

TS error acmStreamOpen: The requested operation cannot be performed.

hello
im new to teamspeak, but i cant seem to get it to work.
i get this error when attemting to test the app (loopback test):
Exception class: EACMConvertor
Exception address: 0045E618
IsMainThread: True
Stack list, generated 7/24/2002 7:37:40 PM

i get this error when attemting to connect to a server with the app:
Error:-1000
Exception EACMConvertor:
acmStreamOpen.

I have removed and installed the app several times, with appropriate OS restarts.

I have read the forums and attempted to duplicate similar problem fixes, like changing the device to direct , confirming DX functionalility, all to no avail.

any help would be appreciated,

here are my sys specs:

933 intel p3
gforce2
sb live gamer (drivers 07/2002)
win xp patched with all updates available
cable modem

I would first recommend back-revving your sound drivers 1 or 2 versions.

I would also suggest you make sure you don’t have a virus scanner running when you install the software (Norton and McAfee play havoc with installing some software).

Источник

Оцените статью
toolgir.ru
Adblock
detector