Microphone selection

RVMedia support and discussion (components for displaying and controlling IP cameras, webcams, video conferencing, video chats, recording audio and video files)
Post Reply
friman
Posts: 25
Joined: Fri Jul 17, 2015 4:26 am

Microphone selection

Post by friman »

Hi

How can do select Microphone to be used under RVMicrophone control?
I have 2 webcam with audio input connected also audio input on laptop. How can select some one at time?
Sergey Tkachenko
Site Admin
Posts: 17236
Joined: Sat Aug 27, 2005 10:28 am
Contact:

Post by Sergey Tkachenko »

Sorry, the current version of RVMedia does not allow choosing a microphone. TRVMicrophone reads sound from the default sound capture device, which can be set in Windows Control Panel.
friman
Posts: 25
Joined: Fri Jul 17, 2015 4:26 am

Post by friman »

Hi,
Some idea/delphi code able to choose/change default microphone?
I have tried severals ways and havent sucess.

Also:
What can be the cause if I turn on my webcam, and this one automatically turn on the first user connected with me?
Sergey Tkachenko
Site Admin
Posts: 17236
Joined: Sat Aug 27, 2005 10:28 am
Contact:

Post by Sergey Tkachenko »

Hello,

1) We already implemented a choice of an audio source (a microphone or other available audio input device).
We plan uploading RVMedia update later in this week.

2 Sorry, I do not understand your "also" question, please explain with more details.
friman
Posts: 25
Joined: Fri Jul 17, 2015 4:26 am

Post by friman »

Thanks for your reply and soon update, will preciate it.

About my second question:
1. I execute client A, connect to server.
2. Execute client B, connect to server.
3. On client A, shut on "my camera"
4. Without do nothing on client B (without send video access request or something like that), start to display stream camera from client A.

It does not happen in your demos, happen on my app, I am really tired to tried found where is the issue without sucess. Just I wanna know, which possible cause may be.
Sergey Tkachenko
Site Admin
Posts: 17236
Joined: Sat Aug 27, 2005 10:28 am
Contact:

Post by Sergey Tkachenko »

A web camera and a client-server connection work independently from each other. If clients are configured to receive videos from each other, when a client turns its camera on, other clients receive video from it.

There are several ways to configure clients to receive videos from each other.
There is no option "every client sends to all other clients", however, it's not too difficult to implement what you need.

1) Mechanism of "default receivers"
See http://www.trichview.com/help-media/trv ... ethods.htm
This mechanism is used in all our video chat demos (Chat, Messenger, Conference).
1.1) The demos use "media access" methods and events to define which clients receive video from the given client.
These demos call "media access" methods in response to user choices in user interface. You can simply do it when clients connect to each other.
1.2) If you do not want this "media access" stuff, clients can add each other to lists of "default receivers" by calling AddDefaultReceiver when other clients connect.

2) An alternative to "default receivers" is sending video to all users of the same group on the sever.
See http://www.trichview.com/help-media/trv ... ethods.htm
A group is used in our "Chat" demo, all clients join the same group having id = {11111111-1111-1111-1111-111111111111}
However, our "Chat" demo still uses "default receivers" mechanism.
But you can remove all "media access" methods and events in this demo, and simply assign RVCamSender1.GUIDGroup ='{11111111-1111-1111-1111-111111111111}'. After that, all clients will send video to each other.
Our "Messenger" and "Conference" demos do not use groups.

3) If you need to connect two specific clients to each other, you can, instead of using "default receivers" and groups, simply assign RVCamSender.GUIDTo property equal to GUID of another client.

Note: in all these methods, you need to assign GUID of another client to TRVCamView.GUIDFrom (or TRVCamMultiView.Viewers[].GUIDFrom)
Post Reply