Voice chat hics up during screensharing

Hi all, since I did not find a special section for Messages, I post this question here. I am running a Mac Pro with Mountain Lion an Messages, my colleagues run 27" IMacs with Lion and IChat. When we share the screen it randomly happens that our voice chat in that session hics up. Sadly it is allways my voice with that problem so the only thing the other can do is to terminate my yo-yo-yo-yo and switch back to a normal chat. So I think I have to seek for the problem at my side and wonder if it could be a open ports thing or is it a bug in Messages? Anybody an idea?
Thanks in advance and kind regards, Julius

HI,
One thing that can happen with very fast connections is that the "natural" variance in the speed of any one moment  can be too large for the buffering in iChat/Messages to cope with.
Lets  say you are having a Video chat and have the Connection Doctor open (Video Menu)
This will show you the live Bit Rate and Frame rate the app is achieving.
If you then change the Bandwidth Limit to something like 200kbps you will see the bit rate change very slowly as the Buffering in the app smooths out the change.
It tried to do this during a normal chat if the Speed is varying all the time.
It does this by dropping frames until such point the audio will not be in sync and then Audio is dropped, leaving pics only.
One thing to consider is whether any variances you and your Buddy are having are in sync.
They could be getting faster whist your end is getting slower and exaggerating the change in speed.
500kbps is fast enough to Host a 4 way Video chat.
A 10Mbps service with a 5% variance is speed could be losing that same 500kbps in speed.
If your Buddy has a similar speed and also varies by 5% there could be a 10% variance overall.
Although I have spoken mostly about Video Chats here it seems that the VNC connection that shows you the desktop in the iChat Screen Sharing is more prone to stutter when the internet speed is less stable.
7:41 PM      Sunday; November 11, 2012
Please, if posting Logs, do not post any Log info after the line "Binary Images for iChat"
  iMac 2.5Ghz 5i 2011 (Mountain Lion 10.8.2)
 G4/1GhzDual MDD (Leopard 10.5.8)
 MacBookPro 2Gb (Snow Leopard 10.6.8)
 Mac OS X (10.6.8),
 Couple of iPhones and an iPad
"Limit the Logs to the Bits above Binary Images."  No, Seriously

Similar Messages

  • HP Pavilion dv7-6b78us Sound Problem (sound routes to built-in speakers during voice chat)

    I'm having an issue with my laptop. When I play using Steam with headphones plugged in, and  I attempt to start a voice call, the sound routes to the built-in speakers and I cannot switch it back to just headphones. 
    I tired unplugging and replugging the headphones, that didn't work,and  turning down the speaker sound made the game sound not go through the headphones. What could be wrong? Restarting fixes the issue, but it happens everytime I attempt to voice chat...

    This used to happen to me when I 1st purchased my laptop. Heres a solution that worked for me.
    RIght click on your audio icon next to the clock, then left click the "Playback  Devices" option.
    On this window, look for the tab named "Communications" at the top. Heres a screenshot: http://puu.sh/4OtOO.png
    When on this tab, click on "Do Nothing" this will prevent windows from switching your headphone to the speakers everytime you get a new notification.
    Cheers.

  • Voice chat program

    After a few days work, I have completed the mian voice chat program. I know there are so many people like me that wants that. I post these program. i will complete gui work later. and there is a problem in the program. if the speaking one do not speak for a while, the listening client will hear noise. Can some one help me.
    package com.longshine.voice;
    import java.io.*;
    import java.net.*;
    import java.util.*;
    public class Server
    // The ServerSocket we'll use for accepting new connections
    private ServerSocket ss;
    // A mapping from sockets to DataOutputStreams. This will
    // help us avoid having to create a DataOutputStream each time
    // we want to write to a stream.
    private Hashtable outputStreams = new Hashtable();
    final int bufSize = 16384;
    //current speak_man
    private int speakman=-1;
    // Constructor and while-accept loop all in one.
    public Server( int port ) throws IOException {
    // All we have to do is listen
    listen( port );
    private void listen( int port ) throws IOException {
    // Create the ServerSocket
    ss = new ServerSocket( port );
    // Tell the world we're ready to go
    System.out.println( "Listening on "+ss );
    // Keep accepting connections forever
    while (true) {
    // Grab the next incoming connection
    Socket s = ss.accept();
    // Tell the world we've got it
    System.out.println( "Connection from "+s );
    // Create a DataOutputStream for writing data to the
    // other side
    DataOutputStream dout = new DataOutputStream( s.getOutputStream() );
    // Save this stream so we don't need to make it again
    outputStreams.put( s, dout );
    // Create a new thread for this connection, and then forget
    // about it
    new VoiceServer( this, s );
    // Get an enumeration of all the OutputStreams, one for each client
    // connected to us
    Enumeration getOutputStreams() {
    return outputStreams.elements();
    // Send a message to all clients (utility routine)
    void sendToAll( byte[] voice ,Socket socket) {
    // We synchronize on this because another thread might be
    // calling removeConnection() and this would screw us up
    // as we tried to walk through the list
    synchronized( outputStreams ) {
    // For each client ...
    for (Enumeration e = outputStreams.keys(); e.hasMoreElements(); ) {
    // ... get the output stream ...
    Socket tmp=(Socket)e.nextElement();
    if(!tmp.equals(socket))
    try {
    DataOutputStream dout = new DataOutputStream(tmp.getOutputStream());
    // ... and send the message
    dout.write(voice,0,44096);
    dout.flush();
    } catch( IOException ie ) { System.out.println( ie ); }
    // Remove a socket, and it's corresponding output stream, from our
    // list. This is usually called by a connection thread that has
    // discovered that the connectin to the client is dead.
    void removeConnection( Socket s ) {
    // Synchronize so we don't mess up sendToAll() while it walks
    // down the list of all output streamsa
    synchronized( outputStreams ) {
    // Tell the world
    System.out.println( "Removing connection to "+s );
    // Remove it from our hashtable/list
    outputStreams.remove( s );
    // Make sure it's closed
    try {
    s.close();
    } catch( IOException ie ) {
    System.out.println( "Error closing "+s );
    ie.printStackTrace();
    // Main routine
    // Usage: java Server <port>
    static public void main( String args[] ) throws Exception {
    // Get the port # from the command line
    int port = Integer.parseInt( args[0] );
    // Create a Server object, which will automatically begin
    // accepting connections.
    new Server( port );
    package com.longshine.voice;
    import java.net.*;
    import java.io.*;
    import java.sql.*;
    import java.io.*;
    import java.net.*;
    public class VoiceServer extends Thread
    // The Server that spawned us
    private Server server;
    final int bufSize = 16384;
    // The Socket connected to our client
    private Socket socket;
    // Constructor.
    public VoiceServer( Server server, Socket socket ) {
    // Save the parameters
    this.server = server;
    this.socket = socket;
    // Start up the thread
    start();
    // This runs in a separate thread when start() is called in the
    // constructor.
    public void run() {
    try {
    // Create a DataInputStream for communication; the client
    // is using a DataOutputStream to write to us
    DataInputStream din = new DataInputStream( socket.getInputStream() );
    byte[] voice=new byte[44096];
    // Over and over, forever ...
    while (true) {
    // ... read the next message ...
    // int bytes = din.read(voice,0,44096);
    int bytes = din.read(voice);
    // ... and have the server send it to all clients
    server.sendToAll(voice,socket);
    } catch( EOFException ie ) {
    // This doesn't need an error message
    } catch( IOException ie ) {
    // This does; tell the world!
    ie.printStackTrace();
    } finally {
    // The connection is closed for one reason or another,
    // so have the server dealing with it
    server.removeConnection( socket );
    package com.longshine.voice;
    import java.io.*;
    import java.net.*;
    public class Client {
    private String host="";
    private String port="";
    private Socket socket;
    private DataOutputStream dout;
    private DataInputStream din;
    private Capture capture=null;
    private Play play=null;
    public Client(String host,String port) {
    this.host=host;
    this.port=port;
    public void init()
    try
    socket = new Socket( host, Integer.parseInt(port));
    din = new DataInputStream( socket.getInputStream() );
    dout = new DataOutputStream( socket.getOutputStream());
    capture=new Capture(dout);
    play=new Play(din);
    catch(Exception e)
    e.printStackTrace();
    public static void main(String[] args) {
    Client client = new Client("172.18.220.176","5678");
    client.init();
    if(args[0].equalsIgnoreCase("say"))
    client.capture.start();
    if(args[0].equalsIgnoreCase("hear"))
    client.play.start();
    package com.longshine.voice;
    import java.io.*;
    import java.util.Vector;
    import java.util.Enumeration;
    import javax.sound.sampled.*;
    import java.text.*;
    import java.net.*;
    public class Play implements Runnable {
    SourceDataLine line;
    Thread thread;
    String errStr=null;
    DataInputStream in=null;
    AudioInputStream audioInputStream;
    final int bufSize = 16384;
    int duration=0;
    public Play(DataInputStream in)
    this.in=in;
    public void start() {
    errStr = null;
    thread = new Thread(this);
    thread.setName("Playback");
    thread.start();
    public void stop() {
    thread = null;
    private void shutDown(String message) {
    if ((errStr = message) != null) {
    System.err.println(errStr);
    if (thread != null) {
    thread = null;
    public void createAudioInputStream() {
    if (in != null ) {
    try {
    errStr = null;
    java.io.BufferedInputStream oin = new java.io.BufferedInputStream(in);
    audioInputStream = AudioSystem.getAudioInputStream(oin);
    } catch (Exception ex) {
    ex.printStackTrace();
    } else {
    public void run() {
    // reload the file if loaded by file
    if (in != null) {
    // createAudioInputStream();
    // make sure we have something to play
    // if (audioInputStream == null) {
    // shutDown("No loaded audio to play back");
    // return;
    // reset to the beginnning of the stream
    // try {
    // audioInputStream.reset();
    // } catch (Exception e) {
    // shutDown("Unable to reset the stream\n" + e);
    // return;
    // get an AudioInputStream of the desired format for playback
    AudioFormat format = getFormat();
    audioInputStream=new AudioInputStream(in, format, AudioSystem.NOT_SPECIFIED);
    AudioInputStream playbackInputStream = AudioSystem.getAudioInputStream(format, audioInputStream);
    if (playbackInputStream == null) {
    shutDown("Unable to convert stream of format " + audioInputStream + " to format " + format);
    return;
    // define the required attributes for our line,
    // and make sure a compatible line is supported.
    DataLine.Info info = new DataLine.Info(SourceDataLine.class,
    format);
    if (!AudioSystem.isLineSupported(info)) {
    shutDown("Line matching " + info + " not supported.");
    return;
    // get and open the source data line for playback.
    try {
    line = (SourceDataLine) AudioSystem.getLine(info);
    line.open(format, bufSize);
    } catch (LineUnavailableException ex) {
    shutDown("Unable to open the line: " + ex);
    return;
    // play back the captured audio data
    int frameSizeInBytes = format.getFrameSize();
    int bufferLengthInFrames = line.getBufferSize() / 8;
    int bufferLengthInBytes = bufferLengthInFrames * frameSizeInBytes;
    byte[] data = new byte[bufferLengthInBytes];
    int numBytesRead = 0;
    // start the source data line
    line.start();
    while (thread != null) {
    try {
    if ((numBytesRead = playbackInputStream.read(data)) == -1) {
    break;
    int numBytesRemaining = numBytesRead;
    while (numBytesRemaining > 0 ) {
    numBytesRemaining -= line.write(data, 0, numBytesRemaining);
    } catch (Exception e) {
    shutDown("Error during playback: " + e);
    break;
    // we reached the end of the stream. let the data play out, then
    // stop and close the line.
    if (thread != null) {
    line.drain();
    line.stop();
    line.close();
    line = null;
    shutDown(null);
    public AudioFormat getFormat() {
    AudioFormat.Encoding encoding = AudioFormat.Encoding.ULAW;
    String encString = "linear";
    float rate = Float.valueOf("44100").floatValue();
    int sampleSize = 16;
    String signedString = "signed";
    boolean bigEndian = true;
    int channels = 2;
    if (encString.equals("linear")) {
    if (signedString.equals("signed")) {
    encoding = AudioFormat.Encoding.PCM_SIGNED;
    } else {
    encoding = AudioFormat.Encoding.PCM_UNSIGNED;
    } else if (encString.equals("alaw")) {
    encoding = AudioFormat.Encoding.ALAW;
    return new AudioFormat(encoding, rate, sampleSize,
    channels, (sampleSize/8)*channels, rate, bigEndian);
    } // End class Playback
    package com.longshine.voice;
    import java.io.*;
    import java.util.Vector;
    import java.util.Enumeration;
    import javax.sound.sampled.*;
    import java.text.*;
    import java.net.*;
    public class Capture implements Runnable {
    TargetDataLine line;
    Thread thread;
    String errStr=null;
    DataOutputStream out=null;
    AudioInputStream audioInputStream;
    final int bufSize = 16384;
    int duration=0;
    public Capture(DataOutputStream out)
    this.out=out;
    public void start() {
    errStr = null;
    thread = new Thread(this);
    thread.setName("Playback");
    thread.start();
    public void stop() {
    thread = null;
    private void shutDown(String message) {
    if ((errStr = message) != null) {
    System.out.println(errStr);
    if (thread != null) {
    thread = null;
    public AudioFormat getFormat() {
    AudioFormat.Encoding encoding = AudioFormat.Encoding.ULAW;
    String encString = "linear";
    float rate = Float.valueOf("44100").floatValue();
    int sampleSize = 16;
    String signedString = "signed";
    boolean bigEndian = true;
    int channels = 2;
    if (encString.equals("linear")) {
    if (signedString.equals("signed")) {
    encoding = AudioFormat.Encoding.PCM_SIGNED;
    } else {
    encoding = AudioFormat.Encoding.PCM_UNSIGNED;
    } else if (encString.equals("alaw")) {
    encoding = AudioFormat.Encoding.ALAW;
    return new AudioFormat(encoding, rate, sampleSize,
    channels, (sampleSize/8)*channels, rate, bigEndian);
    public void run() {
    duration = 0;
    audioInputStream = null;
    // define the required attributes for our line,
    // and make sure a compatible line is supported.
    AudioFormat format = getFormat();
    DataLine.Info info = new DataLine.Info(TargetDataLine.class,
    format);
    if (!AudioSystem.isLineSupported(info)) {
    shutDown("Line matching " + info + " not supported.");
    return;
    // get and open the target data line for capture.
    try {
    line = (TargetDataLine) AudioSystem.getLine(info);
    line.open(format, line.getBufferSize());
    } catch (LineUnavailableException ex) {
    shutDown("Unable to open the line: " + ex);
    return;
    } catch (SecurityException ex) {
    shutDown(ex.toString());
    return;
    } catch (Exception ex) {
    shutDown(ex.toString());
    return;
    // play back the captured audio data
    int frameSizeInBytes = format.getFrameSize();
    int bufferLengthInFrames = line.getBufferSize() / 8;
    int bufferLengthInBytes = bufferLengthInFrames * frameSizeInBytes;
    byte[] data = new byte[bufferLengthInBytes];
    int numBytesRead;
    line.start();
    try
    while (thread != null) {
    if((numBytesRead = line.read(data, 0, bufferLengthInBytes)) == -1) {
    break;
    if(data.length>0)
    out.write(data, 0, numBytesRead);
    out.flush();
    catch (Exception e)
    e.printStackTrace();
    // we reached the end of the stream. stop and close the line.
    line.stop();
    line.close();
    line = null;
    // stop and close the output stream
    try {
    out.flush();
    out.close();
    } catch (IOException ex) {
    ex.printStackTrace();
    } // End class Capture

    After a few days work, I have completed the mian voice chat program. I know there are so many people like me that wants that. I post these program. i will complete gui work later. and there is a problem in the program. if the speaking one do not speak for a while, the listening client will hear noise. Can some one help me.
    package com.longshine.voice;
    import java.io.*;
    import java.net.*;
    import java.util.*;
    public class Server
    // The ServerSocket we'll use for accepting new connections
    private ServerSocket ss;
    // A mapping from sockets to DataOutputStreams. This will
    // help us avoid having to create a DataOutputStream each time
    // we want to write to a stream.
    private Hashtable outputStreams = new Hashtable();
    final int bufSize = 16384;
    //current speak_man
    private int speakman=-1;
    // Constructor and while-accept loop all in one.
    public Server( int port ) throws IOException {
    // All we have to do is listen
    listen( port );
    private void listen( int port ) throws IOException {
    // Create the ServerSocket
    ss = new ServerSocket( port );
    // Tell the world we're ready to go
    System.out.println( "Listening on "+ss );
    // Keep accepting connections forever
    while (true) {
    // Grab the next incoming connection
    Socket s = ss.accept();
    // Tell the world we've got it
    System.out.println( "Connection from "+s );
    // Create a DataOutputStream for writing data to the
    // other side
    DataOutputStream dout = new DataOutputStream( s.getOutputStream() );
    // Save this stream so we don't need to make it again
    outputStreams.put( s, dout );
    // Create a new thread for this connection, and then forget
    // about it
    new VoiceServer( this, s );
    // Get an enumeration of all the OutputStreams, one for each client
    // connected to us
    Enumeration getOutputStreams() {
    return outputStreams.elements();
    // Send a message to all clients (utility routine)
    void sendToAll( byte[] voice ,Socket socket) {
    // We synchronize on this because another thread might be
    // calling removeConnection() and this would screw us up
    // as we tried to walk through the list
    synchronized( outputStreams ) {
    // For each client ...
    for (Enumeration e = outputStreams.keys(); e.hasMoreElements(); ) {
    // ... get the output stream ...
    Socket tmp=(Socket)e.nextElement();
    if(!tmp.equals(socket))
    try {
    DataOutputStream dout = new DataOutputStream(tmp.getOutputStream());
    // ... and send the message
    dout.write(voice,0,44096);
    dout.flush();
    } catch( IOException ie ) { System.out.println( ie ); }
    // Remove a socket, and it's corresponding output stream, from our
    // list. This is usually called by a connection thread that has
    // discovered that the connectin to the client is dead.
    void removeConnection( Socket s ) {
    // Synchronize so we don't mess up sendToAll() while it walks
    // down the list of all output streamsa
    synchronized( outputStreams ) {
    // Tell the world
    System.out.println( "Removing connection to "+s );
    // Remove it from our hashtable/list
    outputStreams.remove( s );
    // Make sure it's closed
    try {
    s.close();
    } catch( IOException ie ) {
    System.out.println( "Error closing "+s );
    ie.printStackTrace();
    // Main routine
    // Usage: java Server <port>
    static public void main( String args[] ) throws Exception {
    // Get the port # from the command line
    int port = Integer.parseInt( args[0] );
    // Create a Server object, which will automatically begin
    // accepting connections.
    new Server( port );
    package com.longshine.voice;
    import java.net.*;
    import java.io.*;
    import java.sql.*;
    import java.io.*;
    import java.net.*;
    public class VoiceServer extends Thread
    // The Server that spawned us
    private Server server;
    final int bufSize = 16384;
    // The Socket connected to our client
    private Socket socket;
    // Constructor.
    public VoiceServer( Server server, Socket socket ) {
    // Save the parameters
    this.server = server;
    this.socket = socket;
    // Start up the thread
    start();
    // This runs in a separate thread when start() is called in the
    // constructor.
    public void run() {
    try {
    // Create a DataInputStream for communication; the client
    // is using a DataOutputStream to write to us
    DataInputStream din = new DataInputStream( socket.getInputStream() );
    byte[] voice=new byte[44096];
    // Over and over, forever ...
    while (true) {
    // ... read the next message ...
    // int bytes = din.read(voice,0,44096);
    int bytes = din.read(voice);
    // ... and have the server send it to all clients
    server.sendToAll(voice,socket);
    } catch( EOFException ie ) {
    // This doesn't need an error message
    } catch( IOException ie ) {
    // This does; tell the world!
    ie.printStackTrace();
    } finally {
    // The connection is closed for one reason or another,
    // so have the server dealing with it
    server.removeConnection( socket );
    package com.longshine.voice;
    import java.io.*;
    import java.net.*;
    public class Client {
    private String host="";
    private String port="";
    private Socket socket;
    private DataOutputStream dout;
    private DataInputStream din;
    private Capture capture=null;
    private Play play=null;
    public Client(String host,String port) {
    this.host=host;
    this.port=port;
    public void init()
    try
    socket = new Socket( host, Integer.parseInt(port));
    din = new DataInputStream( socket.getInputStream() );
    dout = new DataOutputStream( socket.getOutputStream());
    capture=new Capture(dout);
    play=new Play(din);
    catch(Exception e)
    e.printStackTrace();
    public static void main(String[] args) {
    Client client = new Client("172.18.220.176","5678");
    client.init();
    if(args[0].equalsIgnoreCase("say"))
    client.capture.start();
    if(args[0].equalsIgnoreCase("hear"))
    client.play.start();
    package com.longshine.voice;
    import java.io.*;
    import java.util.Vector;
    import java.util.Enumeration;
    import javax.sound.sampled.*;
    import java.text.*;
    import java.net.*;
    public class Play implements Runnable {
    SourceDataLine line;
    Thread thread;
    String errStr=null;
    DataInputStream in=null;
    AudioInputStream audioInputStream;
    final int bufSize = 16384;
    int duration=0;
    public Play(DataInputStream in)
    this.in=in;
    public void start() {
    errStr = null;
    thread = new Thread(this);
    thread.setName("Playback");
    thread.start();
    public void stop() {
    thread = null;
    private void shutDown(String message) {
    if ((errStr = message) != null) {
    System.err.println(errStr);
    if (thread != null) {
    thread = null;
    public void createAudioInputStream() {
    if (in != null ) {
    try {
    errStr = null;
    java.io.BufferedInputStream oin = new java.io.BufferedInputStream(in);
    audioInputStream = AudioSystem.getAudioInputStream(oin);
    } catch (Exception ex) {
    ex.printStackTrace();
    } else {
    public void run() {
    // reload the file if loaded by file
    if (in != null) {
    // createAudioInputStream();
    // make sure we have something to play
    // if (audioInputStream == null) {
    // shutDown("No loaded audio to play back");
    // return;
    // reset to the beginnning of the stream
    // try {
    // audioInputStream.reset();
    // } catch (Exception e) {
    // shutDown("Unable to reset the stream\n" + e);
    // return;
    // get an AudioInputStream of the desired format for playback
    AudioFormat format = getFormat();
    audioInputStream=new AudioInputStream(in, format, AudioSystem.NOT_SPECIFIED);
    AudioInputStream playbackInputStream = AudioSystem.getAudioInputStream(format, audioInputStream);
    if (playbackInputStream == null) {
    shutDown("Unable to convert stream of format " + audioInputStream + " to format " + format);
    return;
    // define the required attributes for our line,
    // and make sure a compatible line is supported.
    DataLine.Info info = new DataLine.Info(SourceDataLine.class,
    format);
    if (!AudioSystem.isLineSupported(info)) {
    shutDown("Line matching " + info + " not supported.");
    return;
    // get and open the source data line for playback.
    try {
    line = (SourceDataLine) AudioSystem.getLine(info);
    line.open(format, bufSize);
    } catch (LineUnavailableException ex) {
    shutDown("Unable to open the line: " + ex);
    return;
    // play back the captured audio data
    int frameSizeInBytes = format.getFrameSize();
    int bufferLengthInFrames = line.getBufferSize() / 8;
    int bufferLengthInBytes = bufferLengthInFrames * frameSizeInBytes;
    byte[] data = new byte[bufferLengthInBytes];
    int numBytesRead = 0;
    // start the source data line
    line.start();
    while (thread != null) {
    try {
    if ((numBytesRead = playbackInputStream.read(data)) == -1) {
    break;
    int numBytesRemaining = numBytesRead;
    while (numBytesRemaining > 0 ) {
    numBytesRemaining -= line.write(data, 0, numBytesRemaining);
    } catch (Exception e) {
    shutDown("Error during playback: " + e);
    break;
    // we reached the end of the stream. let the data play out, then
    // stop and close the line.
    if (thread != null) {
    line.drain();
    line.stop();
    line.close();
    line = null;
    shutDown(null);
    public AudioFormat getFormat() {
    AudioFormat.Encoding encoding = AudioFormat.Encoding.ULAW;
    String encString = "linear";
    float rate = Float.valueOf("44100").floatValue();
    int sampleSize = 16;
    String signedString = "signed";
    boolean bigEndian = true;
    int channels = 2;
    if (encString.equals("linear")) {
    if (signedString.equals("signed")) {
    encoding = AudioFormat.Encoding.PCM_SIGNED;
    } else {
    encoding = AudioFormat.Encoding.PCM_UNSIGNED;
    } else if (encString.equals("alaw")) {
    encoding = AudioFormat.Encoding.ALAW;
    return new AudioFormat(encoding, rate, sampleSize,
    channels, (sampleSize/8)*channels, rate, bigEndian);
    } // End class Playback
    package com.longshine.voice;
    import java.io.*;
    import java.util.Vector;
    import java.util.Enumeration;
    import javax.sound.sampled.*;
    import java.text.*;
    import java.net.*;
    public class Capture implements Runnable {
    TargetDataLine line;
    Thread thread;
    String errStr=null;
    DataOutputStream out=null;
    AudioInputStream audioInputStream;
    final int bufSize = 16384;
    int duration=0;
    public Capture(DataOutputStream out)
    this.out=out;
    public void start() {
    errStr = null;
    thread = new Thread(this);
    thread.setName("Playback");
    thread.start();
    public void stop() {
    thread = null;
    private void shutDown(String message) {
    if ((errStr = message) != null) {
    System.out.println(errStr);
    if (thread != null) {
    thread = null;
    public AudioFormat getFormat() {
    AudioFormat.Encoding encoding = AudioFormat.Encoding.ULAW;
    String encString = "linear";
    float rate = Float.valueOf("44100").floatValue();
    int sampleSize = 16;
    String signedString = "signed";
    boolean bigEndian = true;
    int channels = 2;
    if (encString.equals("linear")) {
    if (signedString.equals("signed")) {
    encoding = AudioFormat.Encoding.PCM_SIGNED;
    } else {
    encoding = AudioFormat.Encoding.PCM_UNSIGNED;
    } else if (encString.equals("alaw")) {
    encoding = AudioFormat.Encoding.ALAW;
    return new AudioFormat(encoding, rate, sampleSize,
    channels, (sampleSize/8)*channels, rate, bigEndian);
    public void run() {
    duration = 0;
    audioInputStream = null;
    // define the required attributes for our line,
    // and make sure a compatible line is supported.
    AudioFormat format = getFormat();
    DataLine.Info info = new DataLine.Info(TargetDataLine.class,
    format);
    if (!AudioSystem.isLineSupported(info)) {
    shutDown("Line matching " + info + " not supported.");
    return;
    // get and open the target data line for capture.
    try {
    line = (TargetDataLine) AudioSystem.getLine(info);
    line.open(format, line.getBufferSize());
    } catch (LineUnavailableException ex) {
    shutDown("Unable to open the line: " + ex);
    return;
    } catch (SecurityException ex) {
    shutDown(ex.toString());
    return;
    } catch (Exception ex) {
    shutDown(ex.toString());
    return;
    // play back the captured audio data
    int frameSizeInBytes = format.getFrameSize();
    int bufferLengthInFrames = line.getBufferSize() / 8;
    int bufferLengthInBytes = bufferLengthInFrames * frameSizeInBytes;
    byte[] data = new byte[bufferLengthInBytes];
    int numBytesRead;
    line.start();
    try
    while (thread != null) {
    if((numBytesRead = line.read(data, 0, bufferLengthInBytes)) == -1) {
    break;
    if(data.length>0)
    out.write(data, 0, numBytesRead);
    out.flush();
    catch (Exception e)
    e.printStackTrace();
    // we reached the end of the stream. stop and close the line.
    line.stop();
    line.close();
    line = null;
    // stop and close the output stream
    try {
    out.flush();
    out.close();
    } catch (IOException ex) {
    ex.printStackTrace();
    } // End class Capture

  • Duriong Voice Chat Voice is not Receiving from Creative Sound Card but going correct

    Hi!
    I have recently faced a problem in my Creative Sounce Card. When i play a sound, no? sound is coming from sound card, No?error message is coming but monitor screen is displaying the sound animations in?Windows media player. I have also tested my speakers & connections and no problem found in it. I also changed the Creative Sound Card Software's settings to default but all in vain. Besides when i?unchecked?the check box ("Only Show Digital Sound") in the Creative Sound Card Software, the analog music is being received, but it is only music without any human voice. The same problem is during voice chat.
    Plz help me in this regard.
    Thanks in advance.

    There is no confusion (anymore) I'm just trying to get the word out that nobody wants to supprt these OEM cards. Not you and not Dell. Does Dell even have the rights to redistibute the apps to work with there versions of your cards? Card works, Drivers Work, No ap
    ps.
    .see my delima? Just a heads up to anyone else with this problem. I've looked to no avail for a updated set of apps for this OEM card. Really kinda anoyed by this. I mean why can't creative support there own card. I know dell bought it, but it is creative and you made money from it support it. Seems pretty cut and dried to me. Digrunteld Axe

  • System crash during screensharing since Maverics. Maybe it's the RAM?

    I have a MBR feb 2013 (with 8GB of RAM). I'm also using an external 24" LG monitor connected through HDMI.
    Ever since upgrading to Maverics (3months ago) every time I do longer (10mins+) screensharing calls on skype (voice + share screen) or a skype voice call + a join.me screenshare my system either:
    suddenly closes all apps and logs me out and I have to sign back in
    completely freezes (I can still hear the other person on the line for 3-4mins and then nothing). During this freeze the system doesn't respond to anything - can't even move cursor, keys don't respond. The only solution is to hold down the power button and rebook.
    I tried a debug session with skype support (allthough this problem happens with join.me and Google Hangouts as well) and after cleaing files, repairing permissions, doing a complete uninstall and checking that all software is up to date, the only conclusion is not enough memory available.
    I've seen in other threads that Mavericks uses RAM memory differently (supposedly more efficiently too). During screensharing when I check the activity monitor the RAM memory is used almost to the maximum. Do you think this could be a reason for the crashes?
    Thanks,
    Bogdan

    Hi
    Here are the steps I followed to 'clean files': https://support.skype.com/en/faq/FA10916/why-does-skype-for-mac-os-x-crash-my-co mputer (bullet points 6 and 7)
    Here's the report from EtreCheck:
    Hardware Information:
              MacBook Pro (Retina, 15-inch, Early 2013)
              MacBook Pro - model: MacBookPro10,1
              1 2.4 GHz Intel Core i7 CPU: 4 cores
              8 GB RAM
    Video Information:
              Intel HD Graphics 4000 - VRAM: 1024 MB
              NVIDIA GeForce GT 650M - VRAM: 1024 MB
    System Software:
              OS X 10.9.1 (13B42) - Uptime: 0 days 4:31:25
    Disk Information:
              APPLE SSD SD256E disk0 : (251 GB)
                        EFI (disk0s1) <not mounted>: 209.7 MB
                        Macintosh HD (disk0s2) /: 250.14 GB (170.97 GB free)
                        Recovery HD (disk0s3) <not mounted>: 650 MB
    USB Information:
              Apple Inc. FaceTime HD Camera (Built-in)
              Apple Inc. BRCM20702 Hub
                        Apple Inc. Bluetooth USB Host Controller
              Apple Inc. Apple Internal Keyboard / Trackpad
    FireWire Information:
    Thunderbolt Information:
              Apple Inc. thunderbolt_bus
    Kernel Extensions:
    Problem System Launch Daemons:
    Problem System Launch Agents:
    Launch Daemons:
              [System] com.adobe.fpsaud.plist 3rd-Party support link
              [System] com.adobe.SwitchBoard.plist 3rd-Party support link
              [System] com.caphyon.almserver.plist 3rd-Party support link
              [System] com.caphyon.awrserver.plist 3rd-Party support link
              [System] com.cisco.anyconnect.vpnagentd.plist 3rd-Party support link
              [System] com.google.keystone.daemon.plist 3rd-Party support link
              [System] com.microsoft.office.licensing.helper.plist 3rd-Party support link
              [System] com.oracle.java.Helper-Tool.plist 3rd-Party support link
              [System] com.oracle.java.JavaUpdateHelper.plist 3rd-Party support link
    Launch Agents:
              [System] com.adobe.AAM.Updater-1.0.plist 3rd-Party support link
              [System] com.cisco.anyconnect.gui.plist 3rd-Party support link
              [System] com.google.keystone.agent.plist 3rd-Party support link
              [System] com.oracle.java.Java-Updater.plist 3rd-Party support link
    User Launch Agents:
    User Login Items:
              iTunesHelper
              Dropbox
              Google Chrome
              RescueTime
              CrossOver CD Helper
              Google Drive
    Internet Plug-ins:
              FlashPlayer-10.6: Version: 12.0.0.44 - SDK 10.6 3rd-Party support link
              Default Browser: Version: 537 - SDK 10.9
              Flash Player: Version: 12.0.0.44 - SDK 10.6 3rd-Party support link
              QuickTime Plugin: Version: 7.7.3
              o1dbrowserplugin: Version: 5.1.4.17398 3rd-Party support link
              SharePointBrowserPlugin: Version: 14.3.6 - SDK 10.6 3rd-Party support link
              npgtpo3dautoplugin: Version: 0.1.44.29 - SDK 10.5 3rd-Party support link
              googletalkbrowserplugin: Version: 5.1.4.17398 3rd-Party support link
              Silverlight: Version: 4.1.10329.0 3rd-Party support link
              JavaAppletPlugin: Version: Java 7 Update 51 3rd-Party support link
    Audio Plug-ins:
              BluetoothAudioPlugIn: Version: 1.0 - SDK 10.9
              AirPlay: Version: 1.9 - SDK 10.9
              AppleAVBAudio: Version: 2.0.0 - SDK 10.9
              iSightAudio: Version: 7.7.3 - SDK 10.9
    User Internet Plug-ins:
              CitrixOnlineWebDeploymentPlugin: Version: 1.0.105 3rd-Party support link
              WebEx64: Version: 1.0 - SDK 10.6 3rd-Party support link
              Google Earth Web Plug-in: Version: 7.1 3rd-Party support link
    3rd Party Preference Panes:
              Flash Player  3rd-Party support link
              Java  3rd-Party support link
    Bad Fonts:
              None
    Old Applications:
              /Applications/Microsoft Office 2011/Office
                        Microsoft Graph:          Version: 14.3.6 - SDK 10.5 3rd-Party support link
                        Microsoft Database Utility:          Version: 14.3.6 - SDK 10.5 3rd-Party support link
                        Microsoft Office Reminders:          Version: 14.3.6 - SDK 10.5 3rd-Party support link
                        Microsoft Upload Center:          Version: 14.3.6 - SDK 10.5 3rd-Party support link
                        My Day:          Version: 14.3.6 - SDK 10.5 3rd-Party support link
                        SyncServicesAgent:          Version: 14.3.6 - SDK 10.5 3rd-Party support link
                        Open XML for Excel:          Version: 14.3.6 - SDK 10.5 3rd-Party support link
                        Microsoft Alerts Daemon:          Version: 14.3.6 - SDK 10.5 3rd-Party support link
                        Microsoft Database Daemon:          Version: 14.3.6 - SDK 10.5 3rd-Party support link
                        Microsoft Chart Converter:          Version: 14.3.6 - SDK 10.5 3rd-Party support link
                        Microsoft Clip Gallery:          Version: 14.3.6 - SDK 10.5 3rd-Party support link
              Microsoft AutoUpdate:          Version: 2.3.6 - SDK 10.4 3rd-Party support link
                        /Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app
              /Applications/Microsoft Office 2011
                        Microsoft PowerPoint:          Version: 14.3.6 - SDK 10.5 3rd-Party support link
                        Microsoft Excel:          Version: 14.3.6 - SDK 10.5 3rd-Party support link
                        Microsoft Outlook:          Version: 14.3.6 - SDK 10.5 3rd-Party support link
                        Microsoft Word:          Version: 14.3.6 - SDK 10.5 3rd-Party support link
                        Microsoft Document Connection:          Version: 14.3.6 - SDK 10.5 3rd-Party support link
              Microsoft Language Register:          Version: 14.3.6 - SDK 10.5 3rd-Party support link
                        /Applications/Microsoft Office 2011/Additional Tools/Microsoft Language Register/Microsoft Language Register.app
              Solver:          Version: 1.0 - SDK 10.5 3rd-Party support link
                        /Applications/Microsoft Office 2011/Office/Add-Ins/Solver.app
    Time Machine:
              Mobile backups: OFF
              Auto backup: NO - Auto backup turned off
              Volumes being backed up:
                        Macintosh HD: Disk size: 232.96 GB Disk used: 73.73 GB
              Destinations:
                        Time Machine Backups [Local] (Last used)
                        Total size: 931.19 GB
                        Total number of backups: (null)
                        Size of backup disk: Excellent
                                  Backup size 931.19 GB > (Disk size 232.96 GB X 3)
              Time Machine details may not be accurate.
              All volumes being backed up may not be listed.
    Top Processes by CPU:
                  11%          WindowServer
                   5%          coreaudiod
                   4%          Google Chrome
                   3%          EtreCheck
                   2%          hidd
    Top Processes by Memory:
              328 MB          mds_stores
              287 MB          Google Chrome
              238 MB          WindowServer
              164 MB          com.apple.IconServicesAgent
              147 MB          xulrunner
    Virtual Memory Information:
              1.46 GB          Free RAM
              4.23 GB          Active RAM
              1.31 GB          Inactive RAM
              1013 MB          Wired RAM
              13.98 GB          Page-ins
              0 B          Page-outs

  • 3GS Voice Chat Application

    Hey I'm looking for a specific voice chat application. I would like an app that would allow multiple users to join a chat room and talk via voice with each other on the iphone. I would like this app to also allow users on a PC to join into this voice chat with iphone users. I would also like to make the chat room private so only certain users can join the chat room. Is there an existing application that accomplishes this? I have searched around the internet and haven't found anything yet. Thanks.

    Stebalien wrote:Cool! However, the key exchange system looks a little unwieldy; personally, I would give everyone a permanent "identity" key (preferably allow the user to a GPG key) and then use the socialist millionaire's protocol (SMP) to exchange these keys. Once the keys have been exchanged, they can be used to negotiate shared session keys. This way, once you talk to someone once, you don't need to keep manually sharing a key with them. The OTR library (libotr) does this very well but I don't know how usable it would be for this project (it's intended for layering encryption over existing IM protocols).
    Really thanx for your interest, i refer to the main developer . Be free to come in #seren on irc.freenode.net , to talk directly with him and the community!

  • Can't seem to enable voice chat anymore

    hello folks
    i just upgraded to an audigy but now when my friend and i try to initiate voice chat through x-fire and msn we can't hear each other at all, where we had no problems before...
    i've got a p4 3.6ghz with gb of ram and i've disabled my onboard sound card in the bios.
    i've also tested my mic and speakers through the audio tab in control panel in xp.
    any ideas?

    actionthom,
    In the Creative Mixer, in the REC panel, make sure you have Mircrophone selected. Move the slider to your volume preference. Click on the red "+" at the top and select 20dB boost. If you want your own speakers to play what you say into the mic, then in the Source panel, un-mute Microphone. Adjust that slider to your preference. It's usually a good idea to mute any other sources you don't want.
    Also, in Control Panel, Sounds and MultiMedia (or something similar for your system), Audio tab, make sure your Audigy is selected as the preferred device for Playback, Recording, etc. If you have a "Use only preferred devices" box, check it.Message Edited by Katman on 0-30-2006 07:4 PM

  • Problem in audio formate voice chatting applet

    hi
    i've just finished making voice chatting project but the voice sometimes sent with big noice and i can't her the user in the other side
    i make it as applet opend from the web and the connection is successfully established , i use cloudegarden in my project
    the audio formate i use pcm 44100 hz 16 bit sterio in the client
    and 11025 hz 16 bit sterio in the server , i was have to make this formate because the others not working will with me(it throw exception)
    thanks for ur concern

    Hello,
    could you please send me the source code.Even i'm working on a similar project. My id is [email protected]
    Thanks
    PN

  • Sound, voice chat, yahoo messenger and VPC 6

    Okay perhaps off topic..perhaps not......how do I get sound to work in Yahoo messenger v 7 w/ voice chat via VPC 6 on an AL 15 Powerbook???
    And does the AL 15 have a built in Microphone??

    Does the microphone work while running VPC?
    I don't know, but I think you can easily check. While you're running VPC, go into System Preferences > Sound > Input. (You can access System Preferences from the Apple menu in the upper left-hand corner of your screen. I'm assuming that you can do this while running VPC. If I'm wrong on this, please stop reading this worthless post. ;-))
    Look at the meter that reads "input level," just above the slider that reads "input volume." If there's any significant ambient noise where you are, or if you speak at a decent volume out loud (it doesn't even have to be near the mic, which is located beneath the left speak grille), you should see the "input level" fluctuate if the mic's working properly. (The default setting for the "input volume" is midway on the slider. If it's all the way to the left, the mic will not pick up any sounds.)

  • USB webcam microphone not working with Starcraft 2 voice chat

    =USB webcam microphone not working with Starcraft 2 voice chat?Windows 7, X-fi Fatalty Pro
    I have a webcam with ?a built in microphone (Ps3 eye). ?It is connected by USB. ?The drivers are the CL-Eye drivers; a third party driver set since Sony does not directly support the eye for PC.
    in the windows audio device management, the microphone appears as normal and is set as the default device. ?I can use the windows sound recorder to record me speaking just fine. ?However if I use any other applications it doesn't seem to work at all. ?I can select the device as the default recording device in Starcraft 2 as well as Teamspeak 3 but no sound is detected. ?The USB microphone does not show up as a selectable device in recording options in my Creative Control Panel. ?Disabling the default creative microphone does nothing.
    I think the problem is in that windows can directly detect the microphone and so software that uses the windows audio device manager works fine, but anything that talks directly with my sound card software does not properly detect the microphone. ?Basically, I can select the device as a default device but it does not work.
    Any thoughts on this or am I SOL and have to find myself a shiny new headset?

    I had the same problem. You need to check the device index of your USB mic.
    In my case. I'm on a Mac OSX 10.6 system. I had four devices cataloged. With the last one being the USB mic.
    Then set like so in your AS code audioPub.microphoneManager.micIndex = 3;
    Remember, that the indexing is 0 based.
    The sound framework make the assumption that the index is 0.
    Hope that helps.

  • Whiteboard-Voice Chat archiving

    Hi,
    I am developing an application which uses 2 applets in a single jsp page one as a whiteboard where we can draw and another a voice chat cum text chat application.
    I need to save both the drwaing and the chat content in the database and retreive and show it to user which contains the drawing and the voice chat content in sync.
    How can this be done?Please advice me.
    Thanks
    Ram

    Hi,
    Creator 2.0 does not have support to create Applet. You could use free tools like netbeans (http://www.netbeans.org) to create the applet and then import it in to Creator.
    RK.

  • Error running cirrus voice chat application

    hello experts,
    1) . As per the guidelines... i signed up on cirrus to get the developer key and rtmfp netconnection key.... i received the following:-
    Your (codename) Cirrus developer key is:
    6620faa05e8785b2ea3616a2-.......
    To connect to the Cirrus service, open an RTMFP NetConnection to:
    rtmfp://p2p.rtmfp.net/6620faa05e8785b2ea3616a2-.....
    2). Inside the code(mxml) i made following changes
            // rtmfp server address (Adobe Cirrus or FMS)
                [Bindable] private var connectUrl:String = "rtmfp://p2p.rtmfp.net";
                // developer key, please insert your developer key here
                private const DeveloperKey:String = "6620faa05e8785b2ea3616a2-7ffe01f89c02";
                // please insert your web service URL here for exchanging peer ID
                private const WebServiceUrl:String = "rtmfp://p2p.rtmfp.net/6620faa05e8785b2ea3616a2-7ffe01f89c02/";
    3). When i run the application i am recieving error
    ScriptDebug: Connecting to rtmfp://p2p.rtmfp.net
    ScriptDebug: NetConnection event: NetConnection.Connect.Success
    ScriptDebug: Connected, my ID: 78e69f93deef48850a2aa296362b0aebc78caa83423233226d2cf7a97e886b91
    ScriptDebug: ID event: idManagerError
    ScriptDebug: Error description: HTTP error: (mx.messaging.messages::ErrorMessage)#0
      body = ""
      clientId = "DirectHTTPChannel0"

    LaalaPanchal wrote:
    Hello,
    I was just trying the code given in JMF documentation for voice chat. When i ran the below given code, it doesn't throw any error but after running this program when i speak anything into my microphone i am unable to hear anything. What can be the problem?Why exactly are you expecting to hear anything? You don't have anything in your code to render sound, so why're you expecting it to?

  • How to Voice Chat on Google Talk with IChat

    I am a new mac user, started using just yesterday. I need some help to configure my IChat for Google talk. I managed to configure ichat to do normal text chat thru the settings in google's website. but i am unable to do voice chat. i need help coz google talk is one application that i use extensively..

    Gizmo (http://www.gizmoproject.com) allows you to by using a proxy to convert SIP to Jingle. It also does the same thing for Yahoo! Messenger and Windows Live/MSN Messenger users. I've no idea how well it works though.
    We'll have to wait until Leopard's released before we know whether Apple has added Jingle support to iChat. If they have you'll be able to do audio (and possibly video) with Gtalk users natively. I wouldn't count on Apple doing this though.

  • Voice Chat using google Talk

    Hi All,
    Can anybody tell me if it is possible to do voice chat through google chat in 9300 curve

    Gizmo (http://www.gizmoproject.com) allows you to by using a proxy to convert SIP to Jingle. It also does the same thing for Yahoo! Messenger and Windows Live/MSN Messenger users. I've no idea how well it works though.
    We'll have to wait until Leopard's released before we know whether Apple has added Jingle support to iChat. If they have you'll be able to do audio (and possibly video) with Gtalk users natively. I wouldn't count on Apple doing this though.

  • Trouble With Voice-Chat In Ga

    Hi I have an Audigy 2 Platinum and am currently having problems when using voice chat when playing games. Whenever I speak I hear myself being repeated through my speakers a second or so after, so that I can hear what I am currently saying along with what I've just said at the same time. I am using a Labtec PC mic connected to the Mic In 2/Line In 2 connection on the break-out box at the front of my computer. I thought it might just be a latency issue causing a delay from when I say something to when I actually hear it but I'm not sure how to confirm this or how to change the settings in the mixer. Could anyone please help me with this. Thanks very much!

    Since Yahoo Messenger is not an Apple product you should look to Yahoo support for answers:
    http://help.yahoo.com/l/us/yahoo/messenger/mac/index.html
    Of since you're friends are the ones who receive the error message, perhaps they should upgrade their messenger.

Maybe you are looking for

  • Need Suggestion On Compression 4 Projection

    I need a bit of direction. I've entered a short film of mine into a "5 Minutes Of Fear" film festival in which entries are due no later than friday. The films will be projected onto a 4 foot by 6 foot (approximately) screen via a laptop. My film is f

  • PLEASE help me with Batch Output Filenames

    Hi All, I batch output hundreds of clips every day. And I'm stuck having to rename all of my files because Compressor appends the destination folder's name to the filename after Batch output. Can someone help me figure out how to retain the ability t

  • Oracle 10.1.0.5 Patch Set posted

    Quite suprised to see a patch for Mac OS X. It was posted on 7th of January 2008 already. I am installing it now. I hope Java Stored Procedures will now work also on 10.4.

  • Incremental Painting in Swing

    Hello All! How can I achieve incremental painting in a JPanel or in general JComponents.. By "incremental painting" I mean I do not want to lose my previous drawings on the panel aka. I want to update the drawing by adding more drawings. An example w

  • Connecting Enterprise Portal with SAP ECC 6.0 for ESS/MSS

    Hi, I am trying to connect my Portal with the ECC backend but getting the error "SAP_R3_SelfServiceGenerics_MetaData". However when I tried to set the configuration in the JCo destination, I am not able to locate the message server for my ECC instanc