DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: Gabapentin
今日帖子: 30
在线用户: 24
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 huangxing (gx) ★☆☆☆☆ -
盒子活跃会员
2023/3/21 14:18:49
标题:
如果用delphi做语音对讲,有什么好的方法或者好控件 浏览:2303
加入我的收藏
楼主: 现在的社交软件上常有的语音对讲和视频,DeLphi有什么方法可以实现?
----------------------------------------------
-
作者:
男 zwjchinazwj (蒲石) ★☆☆☆☆ -
普通会员
2023/3/21 15:15:37
1楼: ffmpeg
----------------------------------------------
-
作者:
男 cxg417 (cxg417) ★☆☆☆☆ -
盒子活跃会员
2023/3/21 16:27:11
2楼: 同问
----------------------------------------------
-
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2023/3/21 18:17:35
3楼: 语音对讲这个功能有意思,我想做不过没时间去搞。

1. 语音采集;打开话筒,获得语音数据;
2. 语音数据上网传输到对方;
3. 语音播放:网上收到语音数据,从喇叭播放出来。

在 Windows 上面,以前我的 D7 上搞过。现在的安卓或者 iOS,可能比较麻烦了,各种权限问题就要折腾死人。
----------------------------------------------
-
作者:
男 baby_moon (孤心明月) ★☆☆☆☆ -
普通会员
2023/3/22 9:39:07
4楼: VC Components,里面有例子
----------------------------------------------
-
作者:
男 huangxing (gx) ★☆☆☆☆ -
盒子活跃会员
2023/3/22 10:18:55
5楼: 不懂就问,VC Components是啥东西?是控件?还是啥?
----------------------------------------------
-
作者:
男 sxqwhxq (步惊云) ★☆☆☆☆ -
普通会员
2023/3/22 12:51:08
6楼: qq和wx可以即时语音通话,质量比手机还好。
信息在电脑中只有两种存在方式,一个是静止的,就是文件,一个是运动的,流或数据包。
我们大部分编程都是在处理静止的信息:文件、数据库字段,图片、视频等。
我们很少处理运动信息:现场即时语音、即时视频、现场采集的数据流,这是实时响应程序。delphi提供的实时组件很少。但其实也就量对声卡、显卡的功能调用而已。
----------------------------------------------
-
作者:
男 huangxing (gx) ★☆☆☆☆ -
盒子活跃会员
2023/3/22 20:36:36
7楼: 我在网上找到一些ACM控件的例子,在delphi下面是可以做到语音对讲的,他们和UDP控件一起使用,只是这个控件好像没人升级了,只能到delphi7为止。
----------------------------------------------
-
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2023/3/22 20:54:36
8楼: ACM 是基于 WINDOWS 提供的一个啥东西的,不知道现在的 WINDOWS 还支持不。我以前在 D7 底下就用它,做的视频会议的音频部分就用它。

如果现在的 WINDOWS 还支持 ACM,那那个控件稍微改改应该就能用。但现在的程序,可能更多的要跑在手机上。手机上如何采集音频,安卓和 iOS,就不知道该怎么搞了。
----------------------------------------------
-
作者:
男 powerpcer (大强) ★☆☆☆☆ -
普通会员
2023/3/22 22:46:26
9楼: https://github.com/terrylao/voice_communication
會用的就用吧。
----------------------------------------------
-
作者:
男 cxg417 (cxg417) ★☆☆☆☆ -
盒子活跃会员
2023/3/22 23:09:57
10楼: 有支持Delphi+安卓的吗
----------------------------------------------
-
作者:
男 hawke2e (hawke2e) ★☆☆☆☆ -
普通会员
2023/3/23 7:37:25
11楼: 可以从其它语言C C++那转过来,如今不同以往,有了chatGPT,成本要低很多。
特别是delphi转freepascal,应该比较容易,感兴趣有条件的造福下大家;最好能分享下转的经验和技巧。
现在,对于delphi的老手,跨语言的障碍已经很小了,剩下的就是爱好和平台的态度。
----------------------------------------------
软件是什么,相信很多人都说不清。
作者:
男 huangxing (gx) ★☆☆☆☆ -
盒子活跃会员
2023/3/23 13:13:35
12楼: 9楼这个可以在delphi下使用,在局域网里面,是个好东西
----------------------------------------------
-
作者:
男 huangxing (gx) ★☆☆☆☆ -
盒子活跃会员
2023/3/23 13:14:08
13楼: 我用delphi7编译后可以直接使用
----------------------------------------------
-
作者:
男 sxqwhxq (步惊云) ★☆☆☆☆ -
普通会员
2023/3/23 14:05:20
14楼: 是点对点语音吗?好像在delphi11.3里无法安装
这一句: RT_RCDATAW = pWideChar(#10);  
[dcc32 Error] unaTypes.pas(443): E2026 Constant expression expected
哪位可以改下为11.3?
----------------------------------------------
-
作者:
男 huangxing (gx) ★☆☆☆☆ -
盒子活跃会员
2023/3/23 14:16:28
15楼: 我测试是点对点的,类似UDP聊天软件一样,一个服务器,一个客户端,输入对方IP就可以了
----------------------------------------------
-
作者:
男 qq81709989 (ChatGPT-4) ▲▲△△△ -
普通会员
2023/3/23 19:00:29
16楼: 用这个开源框架吧,法国社交APP KisKis用的框架,服务端可以用RTC
https://github.com/MagicFoundation/Alcinoe
----------------------------------------------
《AI-Gantt时间管理进度计划甘特图软件》:WWW.Z-SHi.NET
作者:
男 powerpcer (大强) ★☆☆☆☆ -
普通会员
2023/3/23 20:23:53
17楼: 有點差, 我推的不用DLL之類的外部LIBRARY
----------------------------------------------
-
作者:
男 sxqwhxq (步惊云) ★☆☆☆☆ -
普通会员
2023/3/23 20:53:45
18楼: 楼上,你推荐的在delphi11.3编译时有下面这个错误:
  constructor createRes(const name: wString; resType: pwChar = RT_RCDATAW; instance: hModule = 0);
[dcc32 Warning] unaClasses.pas(7052): W1073 Combining signed type and unsigned 64-bit type - treated as an unsigned type
----------------------------------------------
-
作者:
男 powerpcer (大强) ★☆☆☆☆ -
普通会员
2023/3/23 20:59:58
19楼: Warning <> Error!!
----------------------------------------------
-
作者:
男 sxqwhxq (步惊云) ★☆☆☆☆ -
普通会员
2023/3/23 21:09:26
20楼: [dcc32警告]unaClasses.pas(7052):W1073组合有符号类型和无符号64位类型-视为无符号类型
问题是编译通不过,把初始值去掉可以通过编译:
 constructor createRes(const name: wString; resType: pwChar = RT_RCDATAW; instance: hModule = 0);
改为:
constructor createRes(const name: wString; resType: pwChar; instance: hModule = 0);
但是没初始值肯定会有问题。
报错意思是:
问题出在delphi11的编译器对函数的常量初始值声明格式有改变,
----------------------------------------------
-
作者:
男 sxqwhxq (步惊云) ★☆☆☆☆ -
普通会员
2023/3/23 21:53:12
21楼: @powerpcer (小强)装上了,找遍所有示例都没有语音拨号通话功能?
----------------------------------------------
-
作者:
男 powerpcer (大强) ★☆☆☆☆ -
普通会员
2023/3/23 22:03:28
22楼: VOICE OVER IP, 
voice_communication/samples/confRTP/
不是"语音拨号通话",這是兩件事!! 你要拨号通话要跟電信商對接的。
走的就不會是一般的RTP 了。
----------------------------------------------
-
作者:
男 sxqwhxq (步惊云) ★☆☆☆☆ -
普通会员
2023/3/23 22:28:20
23楼: 当然不是拨通电话。
用上了,有两个问题:
1、只能单向语音,好像对讲机一样;
2、语音质量差,断断续结。
我以为可以像qq、微信一样的话音通话功能。
----------------------------------------------
-
作者:
男 powerpcer (大强) ★☆☆☆☆ -
普通会员
2023/3/23 22:43:38
24楼: 要做雙向,改一下不就有了, 還要做好給你?
语音质量差,断断续结。<--這我就不知囉。
除非你的環境的網路差。不就RTP 而已。
要像QQ 哪樣,QQ 不就很差? 微信還有兩秒以上的DELAY。
----------------------------------------------
-
作者:
男 powerpcer (大强) ★☆☆☆☆ -
普通会员
2023/3/23 22:47:47
25楼: 另一個問題, 你可以選 VOICE CODEC,這跟壓縮率及品質相關, 
G系列, 免費的都有了,最新的在M$ 底下。你會寫也沒用。
另外有
https://github.com/terrylao/iLbc  
這個是當年SKYPE 用的CODEC。
----------------------------------------------
-
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2023/3/24 0:07:54
26楼: skype 当年用的 codec,让当时的行业里面的人都很惊讶。于是企鹅果断地也用了它,于是 QQ 的音质也就上来了。
----------------------------------------------
-
作者:
男 sxqwhxq (步惊云) ★☆☆☆☆ -
普通会员
2023/3/24 9:21:34
27楼: 一、已经解决几个主要问题了
1、现在在delphi11.3上搞定安装了。
2、现在可以双向通话了。
3、现在可以实现较高质量语音了,即使信号稍差也不会断断续续。
4、一个程序既可以是服务端也可以是客户端,可以主叫也可被叫。
这个基本跟QQ或wx一样了。
现在的问题是,怎么拨号?
vc2.5是服务端必须开启服务,也就是通话双方都要开启服务端提供呼叫服务,然后其中主叫端启动客户端,通过输入对方端口和ip就可以连接,一连接就可以通话,这个过程与打电话一样。
但现实的场景是需要有一个呼叫的过程,呼叫时双方响呤,然后再接通,接通后再通话。也就是要有一个请求连接的过程,期间要播放一段音频。而现在是vc2.5似乎并没有等待连接的功能,只要一开户服务,客户端就可以连接通话,有求必应。也许应该有一个允许连接的功能,可能我还没找到罢了。
----------------------------------------------
-
作者:
男 cxg417 (cxg417) ★☆☆☆☆ -
盒子活跃会员
2023/3/24 9:54:23
28楼: 楼上,你这个是在Win平台还是安卓平台实现了?
----------------------------------------------
-
作者:
男 wang_80919 (Flying Wang) ★☆☆☆☆ -
普通会员
2023/3/24 10:06:34
29楼: 24 楼 说的太对了。
有些人 就 觉得 欠他似的。
----------------------------------------------
(C)(P)Flying Wang
作者:
男 sxqwhxq (步惊云) ★☆☆☆☆ -
普通会员
2023/3/24 10:19:50
30楼: @28楼:cxg417 (cxg417)
这个应该不支持android,如果支持,移动和电信就只能吃干饭了。
从这个也可以看出,这个底层是win32 api和com技术:
此帖子包含附件:
PNG 图像
大小:5.7K
----------------------------------------------
-
作者:
男 powerpcer (大强) ★☆☆☆☆ -
普通会员
2023/3/24 11:24:52
31楼: Application 當然是WINDOWS BASED。
不然你認為錄音的東西, 是有一套API 跨平台?
離開了這個東西外,其它的COMPOMENT 都沒有平台問題。
你要是會寫MAC的, 會寫ANDROID 的, 會寫LINUX 的, 就改掉哪個APP 的COMPONENT 即可以。
----------------------------------------------
-
作者:
男 zyp1984 (小李他妈的飞刀) ★☆☆☆☆ -
普通会员
2023/3/24 12:57:50
32楼: RVMedia组件,收费的,下载试验过,局域网通话,噪音太大,不知道是何原因。
----------------------------------------------
山外青山楼外楼,能人背后有能人弄..
作者:
男 powerpcer (大强) ★☆☆☆☆ -
普通会员
2023/3/24 16:26:23
33楼: 排除法:
NOISE 在四個地方
1. RECORD
2. COMPRESS
3. TRANSFER
4. REPLAY

1 和 4 你可以自己錄一段成WAV 再PLAY 出來,看一下是不是機器/DRIVER/WHAT EVER 和APP 本身無關的,有關。
如果WAV RECORDING 和REPLAY 都沒NOISE 就剩下 COMPRESS 和 TRANSFER 的事
TRANSFER 的問題,可以看兩端的LOG, BEFORE TRANSFER 和AFTER RECEIVE 的DUMP
, BINARY 一不一致,若一致。就是COMPRESSOR 的問題。
----------------------------------------------
-
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2023/3/24 17:01:36
34楼: 32楼:
在 WINDOWS 上,你直接用 ACM,音质没问题的,没用噪声问题。当然现在 WIN10 还能不能支持 ACM 就不知道了。

其实噪声可能是你的话筒有问题,而不是软件的问题。声音采集变成数字以后,如果不专门搞事,它就不会再变了。这个就是数字信号和模拟信号的区别。模拟信号在传输过程中通过的各种电路,还可能带入各种噪声或者信号变形。数字信号没这个问题。

比如 GSM 电话用的声音编码器,它的规范里面,还专门要加入一点点背景噪声,你不注意是听不出来的。这个是为了没语音的时候,你不会觉得电话断线了。

如果用 ACM 采集纯的 PCM 编码的声音数据,不做任何其它压缩编码处理,那对方没说话时,真的是一点声音没有,真的感觉是不是对方断线了。
----------------------------------------------
-
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2023/3/24 18:03:40
35楼: 刚才把我20年前做的一个视频会议软件里面的 ACM 代码找出来测试了一下。

Windows 11,Delphi 10.4 底下,运行正常。可以采集语音,播放语音。

居然之前的代码,只有一个地方需要改,就是有个地方的 PChar 改成 PAnsiChar。

那个 ACM 控件当年也是在网上找来的。
----------------------------------------------
-
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2023/3/24 18:18:05
36楼: 如果单纯  WINDOWS 底下,采用这个 ACM 和 Indy 的 TCP/UDP 控件,做一个语音对讲,如果不考虑软件未来的复杂而做一个复杂一点的代码框架,单纯实现简单对讲功能的话,就非常容易了。

但是,如果要考虑很多业务逻辑,比如,账号,登录,如何知道对方的 IP 地址,如何穿墙,用 UDP 点对点传还是用一个 TCP 服务器中转,以及是否支持多人,如果用服务器,是否支持同时开多个会议(开房间的概念),等等。要考虑这些, 代码的复杂度就上去了,几天功夫就做不完了。但是,技术上用 Delphi 是肯定可以做得出来的。

现在其实缺的是 Android 和 iOS 上采集/播放声音的 Delphi 代码。如果有了,手机版也就可以做了。
----------------------------------------------
-
作者:
男 powerpcer (大强) ★☆☆☆☆ -
普通会员
2023/3/24 18:25:33
37楼: fpc 上都有對應的,
https://github.com/fredvs/uos/
DELPHI 你就去學一下對應的API 了。
----------------------------------------------
-
作者:
男 huangxing (gx) ★☆☆☆☆ -
盒子活跃会员
2023/3/24 20:04:31
38楼: 35楼,能不能把你用的ACM控件放出来一下?可以在10.4下使用?
----------------------------------------------
-
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2023/3/24 22:41:14
39楼: 38楼:

https://download.csdn.net/download/pcplayer/87611442
----------------------------------------------
-
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2023/3/24 22:44:14
40楼: 38 楼,你要做一个什么样的东西?

语音视频通话的软件我做过。之前我也一直想重新做一个拿来开源,但确实时间不够用。你如果要做,是否可以一起来搞,做一个开源项目?
----------------------------------------------
-
作者:
男 zyp1984 (小李他妈的飞刀) ★☆☆☆☆ -
普通会员
2023/3/24 22:51:35
41楼: @34楼,用的笔记本的话筒。要说话筒有问题,那么微信,QQ,啥的都清晰的很,这个讲不通。那套组件功能做的到是挺多,就是不知道为什么语音有那种刺耳的燥声。就像功放根前放了一个话筒一样那种感觉。
----------------------------------------------
山外青山楼外楼,能人背后有能人弄..
作者:
男 powerpcer (大强) ★☆☆☆☆ -
普通会员
2023/3/24 23:12:55
42楼: 要對標QQ, WECHAT?? 集中式的問題在CDN 和ROUTING,VOICE CHAT 真的是超簡單的
東西。
如果還不想吃太多自己的BANDWIDTH,還要想一下類SKYPE 的P2P PROTOCOL 出來.
這SKYPE 沒OPEN SOURCE 哦。你要怎麼想,憑本事了。
如何ROUTING, 哪些人可以當SUPERNODE 等。
----------------------------------------------
-
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2023/3/25 2:22:13
43楼: 41楼:

你不是自己的电脑的麦克收音然后自己的电脑的喇叭播放吧?这样的话,就等于话筒放在功放前嘛。

当然,刚才我测试 ACM 的时候也是这样做的。做测试可以,叫做回环,loop.
----------------------------------------------
-
作者:
男 sxqwhxq (步惊云) ★☆☆☆☆ -
普通会员
2023/3/25 8:40:56
44楼: 用vc2.5好,源代码不dll。把两台电脑搬到不同地方,信号2格,通话质量良好。
----------------------------------------------
-
作者:
男 zyp1984 (小李他妈的飞刀) ★☆☆☆☆ -
普通会员
2023/3/25 11:43:40
45楼: @43楼,不是,用两台电脑,并且放到不同的房间,互相无干扰。
----------------------------------------------
山外青山楼外楼,能人背后有能人弄..
作者:
男 sxqwhxq (步惊云) ★☆☆☆☆ -
普通会员
2023/3/25 12:37:59
46楼: 玩玩罢了,也没什么用
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行78.125毫秒 RSS