130 likes | 271 Vues
Intro. Alexei Miagkov: researching GUI networking sound aspects of Java Walter Kammerer: researching networking concepts documenting real-time media concepts general project planning. Researching, documenting, implementing GUI, networking, and sound aspects of Java. Java.
E N D
Intro • Alexei Miagkov: • researching GUI • networking • sound aspects of Java • Walter Kammerer: • researching networking concepts • documenting real-time media concepts • general project planning Researching, documenting, implementing GUI, networking, and sound aspects of Java
Java • Easier GUI application development • Provides a higher-level interface to networking than C++ • Cross-platform compatibility
Decisions • Java vs. C++ • XML vs. clear text • Polling vs. interrupts • Multicast UDP vs. TCP sockets
Streaming Media • What is streaming audio? • Eliminates waiting - the sound plays as it is delivered • User control over the audio stream - pause, move back or forward, stop at any time • File doesn’t take up disk space locally
How Streaming Audio Works • Types of streaming audio • On-demand • Live • Encoding audio • Codec - compression/decompression scheme • Compressed audio is: • Much smaller in size • Lower quality • Protocols used in streaming audio • TCP (Transmission Control Protocol) • Error correction can make the stream pause and sound unnatural • UDP (User Datagram Protocol) • Dropped packets have noticeable effect on sound but stream continues uninterrupted • RTSP (Real-Time Streaming Protocol) • New standard allows for more efficient audio and video streaming
Streaming Audio Applications • Live broadcasts of events: news, internet radio, sporting events • Audio on demand : recorded radio shows, interviews • Entertainment: music, radio, audio books • Business applications: Internet (IP) phone and audio conferencing
Java Sound • Java Media Framework has features not available in Java Sound: • Many more available CODECs • Support for stream synchronization • Supports streaming protocols such as RTSP • Java Sound advantages: • Buffering control • Additional command over the control flow • Control over the audio hardware • Capable of processing MIDI files • Easier to extend
Summary • Researched and Implemented: • GUI building with Swing • Threads • Multicast and Unicast socket networking • Custom Java events • Java’s Remote Method Invocation • Basics of Java Sound • Real-time media over the Internet • Functional instant messenger