当前位置:网站首页>Acmstreamopen return value problem
Acmstreamopen return value problem
2022-06-25 04:10:00 【Small waves-】
explain :
It was more than ten years ago that I first encountered this function , Recently, I turned to the back , It feels very interesting , Why didn't you use it very much , It seems that not many people use it now , I called , I don't know whether the calling environment has changed after many years or what , How to return 512. So I began to search for the answer .
Understand this function , Still want to know windows In the library msacm, This thing comes from Windows Multimedia, Already more than 20 Years of old technology . Usually called ACM(Audio Compression Manager, Audio Compression Manager ), They are responsible for managing all audio codecs in the system . As long as the number decoder is registered in the system, it can be used acm decode , Applications can be ACM or VCM The provided programming interface calls the off the shelf codec in these systems to realize the compression and decompression of audio or video data .
Use acm Can be played and registered in the system , Convert any format of sound file driven , For example, my machine has mp3 Format driver and have conversion driver , I can play it . From the official website ,acm There are enough correlation functions , The function is also powerful enough , Why not ?
Problems encountered :
acmStreamOpen return 512
Take out the old routine and run , Enumerating devices is no problem , Also found GSM And so on , And then I recorded a PCM(8000,1,8) The audio of , I want to change to GSM, Go to the acmStreamOpen It's stuck , I can't go on , return 512.
What the hell is it ? If you look at the process carefully, you can't see the problem , The return value is not explained . Search online , That's all. N The old problem years ago , And most of them have no follow-up .
No documents , There are no examples , Use fewer people , It seems that it can only be stuck , It doesn't mean anything to me , Just give up . Can it be said that after 20 It can still be preserved for many years windows There is a problem with the technology in the library , No .
But it doesn't seem to be without a clue , Before the program or run , So the function call order is adjusted , Find out acmStreamOpen Back to 8, There are some invisible pits . Return value 8 There are still explanations MMSYSERR_NOTSUPPORTED function isn't supported. Someone has met this thing , It is said that the format is wrong , After adjustment, you can pass .
Write the encoded audio into wav file , Play it , I found that the first few seconds were silent , It seems that transcoding is not so normal , Let's talk about it when we have time .

summary :
MSACM This thing is very unfriendly to people who come into contact for the first time ,MSDN There are only function descriptions on the but not how to use them , And the return value of the encapsulated codec function is not clear , It makes people crazy , A large number of codec libraries on the Internet are more direct ?
This thing looks powerful , It may not be good to use .
Reference resources :
acmDriverOpen function (msacm.h) - Win32 apps | Microsoft Docs
About :
qq:9611153 WeChat lgs9611153
边栏推荐
- Cesium graphic annotation circle, square, polygon, ellipse, etc
- Smart wind power: operation and maintenance of digital twin 3D wind turbine intelligent equipment
- Is opencv open source?
- Work assessment of pharmaceutical polymer materials of Jilin University in March of the 22nd spring -00025
- Work assessment of Biopharmaceutics of Jilin University in March of the 22nd spring -00005
- Changsha's "talent seeking": "making efforts" and "making practical moves" go hand in hand, "rapid development" and "slow life" go hand in hand
- Jilin University 22 spring March "career design" assignment assessment-00072
- Russian Airi Research Institute, etc. | SEMA: prediction of antigen B cell conformation characterization using deep transfer learning
- numpy np tips:使用opencv对数组插值放缩到固定形状 cv2.resize(res, dsize=(64, 64), interpolation=cv2.INTER_CUBIC)
- Crawler grabs the data of Douban group
猜你喜欢

如何绘制产业招商地图

【Harmony OS】【ARK UI】ETS 上下文基本操作
Zoran community

NFT Insider #63:The Sandbox与时代杂志达成合作,YGG成立西班牙subDAO

【组队学习】SQL编程语言笔记——Task04

MySQL modifies and deletes tables in batches according to the table prefix

Is opencv open source?

练习:仿真模拟福彩双色球——中500w巨奖到底有多难?跑跑代码就晓得了。

opencv 红色区域在哪里?

Changsha's "talent seeking": "making efforts" and "making practical moves" go hand in hand, "rapid development" and "slow life" go hand in hand
随机推荐
OpenSUSE environment PHP connection Oracle
1. first knowledge of chromatic harmonica
数学分析_笔记_第3章:极限
Jilin University 22 spring March "career design" assignment assessment-00072
How many images can opencv open?
Development of trading system (XIII) -- Analysis of quickfix source code
Cesium 加载显示热力图
Cesium loading display thermal diagram
"How to carry out industrial positioning" in local / Park industrial planning
Understand (DI) dependency injection in PHP
Siddhartha: the book of life can be regurgitated frequently
[proteus simulation] Arduino uno key controls the flashing increase / decrease display of nixie tube
Crawler grabs the idea of reading on wechat
代錶多樣性的彩色 NFT 系列上線 The Sandbox 市場平臺
The art of writing simple code
佐喃社区
On the self-cultivation of an excellent red team member
Exercise: how difficult is it to simulate the blessing lottery two-color ball - China 500W grand prize? Just run the code.
Development of trading system (I) -- Introduction to trading system
Crawler grabs the data of Douban group