Brugtgrej.dk
Forside  |   Ny annonce  |   Forum  |   Nyhedsmails  |   Om brugtgrej  |   Kontakt Brugtgrej
215 online brugere
2410 online annoncer
SælgesKøbes

Lyd al'a SKYPE

Denne tråd er lukket for nye indlæg

#1  26/02-13 15:56
Carsten Kobborg

Indlæg: 56
Hej forum

er der nogen der kender et program al'a SKYPE som kan køre på en Raspberry PI komputer ??

Jeg skal bruge noget der kan transmitere lyd begge veje over Internet, mellem en Windows pc og en Raspberry Pi. Jeg ved godt at der skal en externt lydkort til Raspberry, det er heller ingen problem, det er oppe at køre ( der er jo ikke mic indgang på en Raspberry)

Vy 73 De OZ1DCZ, Carsten

----------
OZ1DCZ

Redigeret 26/02-13 15:58
#2  26/02-13 17:28
Jens Sigurdson

Indlæg: 965
Svar til #1:
Hvis du kompiler flg. i JAVA så kan det vist ikke gøres simplere..


*************************************************************
Transmitter
import javax.media.*;
import javax.media.control.*;
import javax.media.protocol.*;
import javax.media.format.*;

import java.io.IOException;
import java.io.File;
import java.util.Vector;


public class MediaTransmitter {

private MediaLocator mediaLocator = null;
private DataSink dataSink = null;

private Processor mediaProcessor = null;
private static final Format[] FORMATS = new Format[] {
new AudioFormat(AudioFormat.ULAW_RTP)};

private static final ContentDescriptor CONTENT_DESCRIPTOR =
new ContentDescriptor(ContentDescriptor.RAW_RTP);

public MediaTransmitter(MediaLocator locator) {
mediaLocator = locator;
}

public void startTransmitting() throws IOException {

mediaProcessor.start();
dataSink.open();
dataSink.start();
}

public void stopTransmitting() throws IOException {

dataSink.stop();
dataSink.close();
mediaProcessor.stop();
mediaProcessor.close();
}


public void setDataSource(DataSource ds) throws IOException,
NoProcessorException, CannotRealizeException, NoDataSinkException {


mediaProcessor = Manager.createRealizedProcessor(
new ProcessorModel(ds, FORMATS, CONTENT_DESCRIPTOR));


dataSink = Manager.createDataSink(mediaProcessor.getDataOutput(),
mediaLocator);
}



public static void main(String[] args) {

try {

MediaLocator locator = new MediaLocator("rtp://192.168.1.111:333/audio");
MediaTransmitter transmitter = new MediaTransmitter(locator);
System.out.println("-> Created media locator: '" +
locator + "'");

Vector devices=CaptureDeviceManager.getDeviceList ( null );
CaptureDeviceInfo cdi= (CaptureDeviceInfo) devices.elementAt ( 0 );

DataSource source = Manager.createDataSource(
cdi.getLocator());

transmitter.setDataSource(source);
System.out.println("-> Set the data source on the transmitter");

transmitter.startTransmitting();
System.out.println("-> Transmitting...");
System.out.println(" Press the Enter key to exit");

System.in.read();
System.out.println("-> Exiting");
transmitter.stopTransmitting();

} catch (Throwable t) {
t.printStackTrace();
}

System.exit(0);
}
}

*****************************************************************************

Receiver
import javax.media.*;

import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.net.MalformedURLException;

public class SimpleAudioPlayer {


private Player audioPlayer = null;

public SimpleAudioPlayer(MediaLocator url) throws IOException, NoPlayerException,
CannotRealizeException {
audioPlayer = Manager.createRealizedPlayer(url);
}

public void play() {
audioPlayer.start();
}


public void stop() {
audioPlayer.stop();
audioPlayer.close();
}
public static void main(String[] args) {
try {
MediaLocator loc=new MediaLocator("rtp://192.168.1.111:333/audio");
SimpleAudioPlayer player = new SimpleAudioPlayer(loc);
System.out.println(" Press the Enter key to exit");
player.play();
System.in.read();
System.out.println("-> Exiting");
player.stop();

} catch (Exception ex) {
ex.printStackTrace();
}

System.exit(0);
}
}

----------
Hilsen
Jens

#3  26/02-13 17:39
Carsten Kobborg

Indlæg: 56
Svar til #2:
Hej Jens
Tak for svar, MEN jeg skulle måske have skrevet at mit videns nivue til LinuX kan ligge på et meget lille sted :)
SÅ det der med at kompilere et eller andet og så få det til at virke, er bare ikke lige moget jeg gør, men det kan jeg finde råd for !!!
Hvad jeg derimod ikke kan er at se ud af dit program hvordan det skal virke.... så det vil jeg gerne vide lidt mere om, og hvordan på PC,en, hvad skal jeg bruge der

Såm du kan se er jeg igang med noget som jeg ikke ved ret meget om men gerne vil lære :)

Carsten

----------
OZ1DCZ

#4  26/02-13 17:59
Jens Sigurdson

Indlæg: 965
Svar til #3:
Der er såmend ikke noget Linux i det her :-) Det er fuldstændigt platformuafhængigt og kan køre på alt fra brødristere til Windows 8.

Det er noget nær den simpleste måde at overføre lyd over netværk som jeg lige kan komme på.
Programmet tager lyden fra din lydkilde og pakker det i en stream via UDP til modtagerprogrammet som så sender det ud af din højtaler.
Hvis det skal være tovejs, starter man bare en sender og modtager samtidigt på begge maskiner, så køre det indtil du stopper programmet.

Jeg ved godt at det er lidt af en frækhed at kaste en gang kildekode i hovedet på dig. Men nogen gange kan det være meget informativt at vise hvor simpelt det egentligt kan være at lave sine egne programmer.
Prøv at læse det igennem et par gange og se om ikke det alligevel giver en eller anden form for mening, uden at du behøver at forstå det hele?

Der er kildekode til to programmer. Transmission programmet og receiverprogrammet. Det giver nok mest mening hvis du læser receiverdelen først.

Det er en kende involveret "lige" at sætte sin PC op til at kompilere JAVA kildekoden, men der er talrige opskrifter man kan følge på nettet og når man først har sat det op ligger hele verden sådan set åben for en når man begynder selv at lege med programmering.

----------
Hilsen
Jens

Redigeret 26/02-13 18:07
#5  27/02-13 10:06
Daniel Buch - OZ8AES

Indlæg: 91
Svar til #1:
Her et par foreslag som også findes i en Linux version:

Echolink: http://www.echolink.org/

Speak freely: http://www.speakfreely.org/

MVH
Daniel Buch - OZ8AES

#6  27/02-13 18:56
Chris
Indlæg: 85
Svar til #1:
Hm , er der ikke nogle bruger grupper man kan møde op i og få lidt demostration?

Jeg ville måske kikke efter en Voip SIP client, feks Ekiga , eller twinkel .

eller du kan ' sudo apt-get install synaptic'

, som er et grafisk pakke proogram , så kan du bedre se hvad der er af Voip programmer til Ras

Denne tråd er lukket for nye indlæg