Я отвечу только на вопрос о потоковой передаче:
Есть проект locality-icecast , который реализует потоковый сервер icecast в Java, но он был заброшен, так что вы можете выбратьразвитие.Вы также можете взглянуть на JRoar , это сервер Icecast для ogg, но в целом это то же самое, и вы также можете получить некоторые идеи от него.
Таким образом, любой игрок, который поддерживает shoutcastПротокол / icecast будет работать с вашим сервером.
Если вы хотите написать свой собственный проигрыватель, вы можете декодировать mp3 с помощью библиотеки JavaLayer .