已有8人关注
老师们求解!visual c++ 程序开发 范例宝典!实例362!编译正确!运行时出了点小问题!
发表在VC++答疑区 2016-05-20
是否精华
版块置顶:
老师们好!实例362是语音实时通信!编译正确!启动服务器exe时,点击设置端口号,弹出套接字创建失败!请老师们帮忙解答!
点击设置端口号就是监听把老师?运行的时候是插上麦克风说话就能实现这个实例功能么?还需要做啥嘛?
很急!感谢老师们!
分享到:
精彩评论 13
tuboshulele
学分:0 LV1
2016-05-21
11L
[FIELDSET][LEGEND]引自:10楼[/LEGEND]
[FIELDSET][LEGEND]引自:9楼[/LEGEND]
[FIELDSET][LEGEND]引自:8楼[/LEGEND]
不是等服务器播放, 而是客户端向服器传送声音。
服务器接收到声音数据之后播放。 

程序原理大概分成三部分:
网络编程,录音,播放。
客户端 灵音之后 把数据通过网络传给 服务器端, 服务端接收到之后 播放。
[/FIELDSET]

回复:
  老师老师我明白你说的原理。客户端点发送数据-插上麦克风播放声音就行了?-然后服务器收到数据就会自动播放了?老师我这个地方不懂.感谢老师!!两个机子上也可以的吧?
[/FIELDSET]

回复:理论上是这样。
两个机器上也可以。前提是你两个机器可以通过网络连接上。 如果是两台机器,客户端连接时,输入的就是 server 所在机器的IP和端口号。
  
[/FIELDSET]

回复:
  原来声音是这样捕捉到的么?我试试。谢谢老师!
tuboshulele
学分:0 LV1
2016-05-21
12L
[FIELDSET][LEGEND]引自:10楼[/LEGEND]
[FIELDSET][LEGEND]引自:9楼[/LEGEND]
[FIELDSET][LEGEND]引自:8楼[/LEGEND]
不是等服务器播放, 而是客户端向服器传送声音。
服务器接收到声音数据之后播放。 

程序原理大概分成三部分:
网络编程,录音,播放。
客户端 灵音之后 把数据通过网络传给 服务器端, 服务端接收到之后 播放。
[/FIELDSET]

回复:
  老师老师我明白你说的原理。客户端点发送数据-插上麦克风播放声音就行了?-然后服务器收到数据就会自动播放了?老师我这个地方不懂.感谢老师!!两个机子上也可以的吧?
[/FIELDSET]

回复:理论上是这样。
两个机器上也可以。前提是你两个机器可以通过网络连接上。 如果是两台机器,客户端连接时,输入的就是 server 所在机器的IP和端口号。
  
[/FIELDSET]

回复:点了发送播放声音 服务器等了一会还是没有声音呢。难道从头就一直播放?
  
again
学分:250 LV4
2016-05-21
13L
机器不同 可能要调整代码,比如我的机品上,客户端和服务器端的代码 是这样的:
client:
//////////////////////////////////////////////////////////////////////////
void CKinescodeDlg::InitAudio()
{
    // 波型格式
    waveform.wFormatTag = WAVE_FORMAT_PCM;  // 采样方式,PCM(脉冲编码调制)
    waveform.nChannels = 2;                // 双声道
    waveform.nSamplesPerSec = 11025;            // 采样率11.025KHz
    waveform.nAvgBytesPerSec = 11025;             // 数据率11.025KB/s
    waveform.nBlockAlign = 2;                // 最小块单元,wBitsPerSample×nChannels/8
    waveform.wBitsPerSample = 8;                // 样本大小为8bit
    waveform.cbSize = 0;

server:
////////////////////////////////////////////////////////////////////////////
void CUuuuDlg::InitAudio()
{
    waveform.wFormatTag = WAVE_FORMAT_PCM;  // 采样方式,PCM(脉冲编码调制)
    waveform.nChannels = 2;                // 双声道
    waveform.nSamplesPerSec = 11025;            // 采样率11.025KHz
    waveform.nAvgBytesPerSec = 11025;            // 数据率11.025KB/s
    waveform.nBlockAlign = 2;                // 最小块单元,wBitsPerSample×nChannels/8
    waveform.wBitsPerSample = 8;                // 样本大小为8bit
    waveform.cbSize = 0;


这两个初始化函数 里面的内容我修改过了。
现在这个工程在我的机器上是好用的。
首页上一页 12 下一页尾页 13 条记录 2/2页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照