java - 使用 Android 进行音频流转码

标签 java android audio-streaming transcoding

首先声明我不懂Java。我是一名具有扎实 C# 技能的 .NET 开发人员,但实际上我正在尝试同时学习 Java 和 Android SDK(我知道这可能并不理想,但是哦,好吧,我喜欢冒险:))

也就是说,我的最终目标是为 Android 编写一个可以接受 Windows Media 流的流媒体播放器。如果需要的话,我可以将自己限制在 Android 2.0 及更高版本上。我当前的设备是运行 Android 2.0.1 的 Motorola Droid。我在 PC 上虔诚地收听一项在线广播服务,该服务仅提供 Windows Media 流媒体,我想对流媒体进行转码,以便我的 Android 设备可以播放它。

这样的事情可能吗?如果是这样,它是否可行(即,它是否会过于占用 CPU 资源并耗尽电池)?我是否应该考虑使用 native 代码而不是 Java 中的 NDK 来执行此操作?我并不反对在桌面计算机上运行某种服务(即使是 C#),但理想情况下我想首先探索纯粹基于设备的选项。我应该从哪里开始?

预先感谢您提供的任何见解!

最佳答案

在您的 PC 上拥有一个代理来捕获 Windows 音频输出、对其进行编码并将其发送到您的手机是完全可能的。 8 年前,我在一个基于 Linux 的 PDA(sharp zaurus)上就有过类似的东西。诀窍在于,您并不是尝试直接解码或访问 XM radio 流,您只是捕获发送到桌面扬声器的内容并重新发送。由于重新编码,音频质量会受到轻微影响,但应该不会太差。

关于java - 使用 Android 进行音频流转码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2043768/

相关文章:

java - getAudioInputStream无法将[立体声,4字节/帧]流转换为[单声道,2字节/帧]

java - <jdk>/jre/lib/deploy.jar 的源代码在哪里?

Java - 创建一个 BufferedImage 克隆,它不引用原始图像

java - 如何绘制android动画 donut chart

java - postdelayed Handler 不会重复运行

java - 如何将 FFMPEG 构建并包含到现有的 Android 项目中

audio - YouTube 是否分开存储视频和音频

java - 阻止我的应用程序观看电视

java - SuggestionListener 中的 onSuggestionClick(intposition) 给出 ArrayList 的绝对位置

javascript - 为什么 Cordova 项目具有相同的 index.js 副本?