Как воспроизвести волновой файл, отправленный с сервера? - PullRequest
3 голосов
/ 20 апреля 2009

Я отправляю волновой файл, используя метод клиента и сервера.

Как я могу воспроизвести этот файл на клиенте после его получения?

Это код сервера, используемый для отправки волнового файла:

import java.lang.*;
import java.io.*;
import java.net.*;

class Server {
//D:\Documents and Settings\Desktop\gradpro\test1
    static final String OUTPUTFILENAME = "C:\\Documents and Settings\\Administratore\\Desktop\\gradpro\\test1\\s1.wav";
    static final int PORT       = 8811;

    public static void main(String args[]) {

        System.out.println("New server running...\n\n");

        // Infinite loop, innit
        while ( true ) {

            try {
                //Create a socket
                ServerSocket srvr = new ServerSocket(PORT);
                Socket skt = srvr.accept();

                //Create a file output stream, and a buffered input stream
                FileOutputStream fos = new FileOutputStream(OUTPUTFILENAME);
                BufferedOutputStream out = new BufferedOutputStream(fos);
                BufferedInputStream in = new BufferedInputStream( skt.getInputStream() );

                //Read, and write the file to the socket
                int i;
                while ((i = in.read()) != -1) {
                    out.write(i);
                    //System.out.println(i);
                    System.out.println("Receiving data...");
                }
                out.flush();
                in.close();
                out.close();
                skt.close();
                srvr.close();
                System.out.println("Transfer complete.");
            }
            catch(Exception e) {

                System.out.print("Error! It didn't work! " + e + "\n");
            }

            //Sleep...
            try {
                Thread.sleep(1000);
            } catch (InterruptedException ie) {
                System.err.println("Interrupted");
            }

        } //end infinite while loop
    }



}

Ответы [ 2 ]

1 голос
/ 20 апреля 2009

Посмотрите на <a href="http://java.sun.com/products/java-media/sound/doc-sampled.html" rel="nofollow noreferrer">javax.sound.sampled</a> API.

0 голосов
/ 20 апреля 2009

Вы можете использовать класс AudioClip для воспроизведения файлов WAV; В качестве альтернативы вы можете использовать Java Sound API .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...