mp3的MEDIATYPE应该如何设置,在线等待??????????

Tiger0920 2004-03-31 03:30:20
各位仁兄,小弟目前用dsnetwork改造传送接收音频,可是用MPEG Layer-3压缩,解压,接收端不知如何设置MEDIATYPE,望各位大侠指点,多谢,多谢,他日小弟一定犬马相报!
...全文
331 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger0920 2004-04-02
  • 打赏
  • 举报
回复
to show(等我轻舞飞扬(抵制日货))兄,我现在在graphedit试,结果不能连接而且接收段没一点反映,望仁兄指点,多谢,多谢!!!
show 2004-04-02
  • 打赏
  • 举报
回复
上面的东西写完没?怎么个不行法?错在哪里?有返回码没?
Tiger0920 2004-04-02
  • 打赏
  • 举报
回复
to show(等我轻舞飞扬(抵制日货))兄,我这样设置还是不行,望仁兄指点,多谢,多谢!!!
WAVEFORMATEX wave;
wave.wFormatTag=WAVE_FORMAT_MPEG;
wave.nChannels=2;
wave.nSamplesPerSec=44100;
wave.nAvgBytesPerSec=8000;
wave.nBlockAlign=1;
wave.cbSize=sizeof(MPEG1WAVEFORMAT) - sizeof(WAVEFORMATEX);;
wave.wBitsPerSample=0;
HRESULT hr ;
if (iPosition == 0) {
ASSERT (pmt) ;
pmt -> InitMediaType () ;
pmt -> SetType (& MEDIATYPE_Audio) ;
pmt -> SetSubtype (& TIME_FORMAT_NONE) ;
pmt->SetFormatType(&FORMAT_WaveFormatEx);
pmt->SetFormat( (BYTE*) &wave, sizeof( wave ) );
//pmt->SetSampleSize(vih.bmiHeader.biSizeImage);//*/
hr = S_OK ;
}
Tiger0920 2004-04-02
  • 打赏
  • 举报
回复
to show(等我轻舞飞扬(抵制日货))兄,
多谢,多谢,小弟先试一下,呵呵!!!!!!
show 2004-04-02
  • 打赏
  • 举报
回复
#include <mmreg.h>

pMediaType->majortype = MEDIATYPE_Audio;
pMediaType->subtype = MEDIASUBTYPE_MPEG1AudioPayload;
pMediaType->bFixedSizeSamples = 1;
pMediaType->bTemporalCompression = 0;
pMediaType->lSampleSize = 0;//4096;
pMediaType->formattype = FORMAT_WaveFormatEx;
pMediaType->pUnk = 0;

MPEG1WAVEFORMAT * mwf =
(MPEG1WAVEFORMAT *)pMediaType->AllocFormatBuffer(sizeof(MPEG1WAVEFORMAT));
ZeroMemory(mwf, sizeof(MPEG1WAVEFORMAT));

mwf->wfx.wFormatTag = WAVE_FORMAT_MPEG;
mwf->wfx.cbSize = sizeof(MPEG1WAVEFORMAT) - sizeof(WAVEFORMATEX);
mwf->wfx.nChannels = 2;
mwf->wfx.nSamplesPerSec = 44100; // sampling rate
mwf->wfx.nBlockAlign = 1;
// this set is for var bitrate
mwf->wfx.wBitsPerSample = 0;
// this not used in mpeg1 audio

mwf->wfx.nAvgBytesPerSec= 128000 / 8;
mwf->dwHeadBitrate = 128000
mwf->fwHeadLayer = ACM_MPEG_LAYER3;
mwf->fwHeadMode = ACM_MPEG_STEREO
mwf->fwHeadModeExt = 0;
mwf->wHeadEmphasis = 0;
mwf->fwHeadFlags = ACM_MPEG_ID_MPEG1;
mwf->dwPTSLow = 0;
mwf->dwPTSHigh = 0;


Tiger0920 2004-04-02
  • 打赏
  • 举报
回复
各位大哥们那,都帮小弟一把啊,现在还没有解决,小弟万分感激,多谢,多谢,多谢!!!!!!!!!!
EricTangHL 2004-04-02
  • 打赏
  • 举报
回复
up
Tiger0920 2004-03-31
  • 打赏
  • 举报
回复
fengge8ylf兄,我是想接收压缩厚的mp3,然后解压播放,不知接收端如何设置媒体类型!!!!
fengge8ylf 2004-03-31
  • 打赏
  • 举报
回复
具体的怎么做我也不知道 你加入MP3过滤器试试
fengge8ylf 2004-03-31
  • 打赏
  • 举报
回复
你是想把实时流压缩成MP3 用改wave.wFormatTag 的方法可能不行
Tiger0920 2004-03-31
  • 打赏
  • 举报
回复
fengge8ylf兄,多谢,多谢,现在可以编译通过,可是接收端还是没有声音啊,
WAVEFORMATEX wave;
wave.wFormatTag = WAVE_FORMAT_MPEGLAYER3;
wave.nChannels = 1;
wave.nSamplesPerSec = 8000;
wave.wBitsPerSample = 1;
wave.nBlockAlign = wave.nChannels * wave.wBitsPerSample / 8;
wave.nAvgBytesPerSec = wave.nSamplesPerSec * wave.nBlockAlign;
wave.cbSize =sizeof(WAVEFORMATEX);这样设置对不对,多谢,多谢!!!
fengge8ylf 2004-03-31
  • 打赏
  • 举报
回复
包含MMREG.H
Tiger0920 2004-03-31
  • 打赏
  • 举报
回复
to fengge8ylf兄:
好像不行,有如下错误:
e:\DS download\Dssdk9\Samples\C++\DirectShow\Filters\DSNetwork\Receiver\dsrecv.cpp(85): error C2065: “WAVE_FORMAT_MPEGLAYER3” : 未声明的标识符
Tiger0920 2004-03-31
  • 打赏
  • 举报
回复
to wlpwind(robin)兄,我是说如何设置 WAVEFORMATEX wave ;
还有是不是正确设置wave后,接收端就能播放接收到的音频,多谢,多谢,多谢!!!!!!!!!
fengge8ylf 2004-03-31
  • 打赏
  • 举报
回复
WAVE_FORMAT_MPEGLAYER3
在QQ上我没回答你 下来后我看了看 应该是这个
wlpwind 2004-03-31
  • 打赏
  • 举报
回复
MEDIATYPE看起来也不应该有很多种,挨个试不行?
Tiger0920 2004-03-31
  • 打赏
  • 举报
回复
大哥们那,帮小弟一把啊,多谢,多谢,多谢!!!!!!!!!!!!!!

2,554

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧