Articles of 流

在Android流中使用flush()close()的好处?

我知道一般的想法,但我不确定它是否有影响,因为Android api声明如下:“刷新此流。此方法的实现应确保写出任何缓冲的数据。此实现什么都不做。” 这种实现没有任何作用< – 这是否意味着它无用或者我错过了什么?

在Android中流和播放.m4a流(Itunes预览url)

我想流式播放iTunes播放预览url,如http://a2.mzstatic.com/us/r1000/044/Music/e9/40/ec/mzm.evyxvimp.aac.p.m4a 。 我尝试使用AAC Decoder Android Library。 通过它我可以流式传输和播放AAC流url,如http://http.yourmuze.com:8000/play/paradise/l.aac 。 但是dnt流式传输m4aurl(Logcat说java.io.FileNotFoundException: http://a2.mzstatic.com/us/r1000/044/Music/e9/40/ec/mzm.evyxvimp.aac.p.m4a //a2.mzstatic.com/us/r1000/044/Music/e9/40/ec/mzm.evyxvimp.aac.p.m4a)。 我如何流式传输.m4a链接? 我的代码: public class AACPlayerActivity extends Activity implements OnClickListener,PlayerCallback{ private Button btnPlay; private ProgressBar progress; private Handler uiHandler; private MultiPlayer multiPlayer; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btnPlay = (Button)findViewById(R.id.playButton); progress = (ProgressBar)findViewById(R.id.progress); […]

在Android上的蓝牙中从InputStream读取数据时出错

我正在使用一个Android应用程序,它使用蓝牙连接在我的Android智能手机和非Android蓝牙模块之间传输数据,使用SPP配置文件。 我使用Android Developer网站的蓝牙聊天示例作为参考。 我已经成功地将两个设备相互连接,并将简单的字符串从智能手机发送到蓝牙模块。 但是我在读取从模块发回的数据时遇到了一些错误。 我使用以下代码,与蓝牙聊天示例完全相同,从InputStream读取数据 while (true) { try { // Read from the InputStream bytes = mmInStream.read(buffer); String str = new String(buffer); Log.i(TAG, “mmInStream – ” + str); // Send the obtained bytes to the UI Activity mHandler.obtainMessage(BluetoothChat.MESSAGE_READ, bytes, -1, buffer) .sendToTarget(); } catch (IOException e) { Log.e(TAG, “disconnected”, e); connectionLost(); break; } […]

如何将两个mp3文件合并为一个(组合/连接)

可以告诉我们如何将两个媒体文件合并/合并成一个? 我发现了一个关于audioInputStream的主题,但是现在它在android中并不支持,而且java的所有代码都不支持。 在StackOverflow上,我在这里find了这个链接,但在那里我找不到解决方案 – 这些链接仅用于流音频。 谁能告诉我? PS和为什么我不能开始赏金?:(

如何将Android上的video录制到Stream中

Android MediaRecorder允许将video保存到文件(文件或套接字): setOutputFile(FileDescriptor fd); setOutputFile(String path) 如何将video数据保存到OutputStream? 它将用于流式video录制。

NanoHttpd服务器无法在android上传输大型video

NanoHttpd服务器代码可以在这里find。 我正在使用NanoHttpd服务器来传输大型video(大约150mb)的服务中启动一个新线程,但它只是在显示加载对话框时暂停。 我尝试增加和减少缓冲区读取无济于事。 似乎服务器无法在Android设备上正常运行。 通过桌面应用程序启动服务器时,相同的代码工作正常。 我的流量超过150mb。 从手机运行服务器时,我只尝试了20mb文件,它们也很好。 但是我需要更多的流。

GZIP压缩为字节数组

我正在尝试编写一个可以压缩数据的类。 下面的代码失败(没有抛出exception,但目标.gz文件为空。) 此外:我不想直接生成.gz文件,就像在所有示例中一样。 我只想获取压缩数据,以便我可以在将数据写入文件之前对其进行加密。 如果我直接写一个文件一切正常: import java.io.*; import java.util.zip.*; import java.nio.charset.*; public class Zipper { public static void main(String[] args) { byte[] dataToCompress = “This is the test data.” .getBytes(StandardCharsets.ISO_8859_1); GZIPOutputStream zipStream = null; FileOutputStream fileStream = null; try { fileStream = new FileOutputStream(“C:/Users/UserName/Desktop/zip_file.gz”); zipStream = new GZIPOutputStream(fileStream); zipStream.write(dataToCompress); fileStream.write(compressedData); } catch(Exception e) { e.printStackTrace(); […]

Android MediaPlayer – 如何在STREAM_ALARM中播放?

我已经尝试使用以下代码在我的应用程序中设置媒体播放器的音频流,但是当我这样做时,我在模拟器中听不到声音。 如果我没有为播放器设置流,则音频播放正常。 我确定我使用这个错误但不能锻炼如何,任何帮助? MediaPlayer player = MediaPlayer.create(getApplicationContext(), R.raw.test_audio); AudioManager audioManager = (AudioManager) getApplicationContext().getSystemService(Context.AUDIO_SERVICE); audioManager.getStreamVolume(AudioManager.STREAM_ALARM); audioManager.setStreamVolume(AudioManager.STREAM_ALARM, audioManager.getStreamMaxVolume(AudioManager.STREAM_ALARM), AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE); player.setAudioStreamType(AudioManager.STREAM_ALARM); player.start(); 注意:我已经为我的清单添加了MODIFY_AUDIO_SETTINGS权限。 谢谢!

Android:BluetoothSocket收到自己的输出

我有一个通过蓝牙连接到RaspberryPi的应用程序,并在收到一些数据时将相同的数据循环到它。 我有一些连接问题所以需要这个解决方法将我的Android手机连接到RaspberryPi: IOException:读取失败,套接字可能关闭 – Android 4.3上的蓝牙 由于某种原因,Android手机正在接收自己的输出。 字符串“Hello Raspberry。这是我,AndroidPhone”以永无止境的循环发送到输出。 传入的数据(来自RaspberryPi)也在永无止境的循环中读取。 但不知何故,我不仅收到RaspberryPi的数据,还收到通过智能手机发送的字符串。 这是我的代码: public class MainActivity extends AppCompatActivity { private BluetoothAdapter bluetoothAdapter; UUID SERIAL_UUID = UUID.fromString(“00001101-0000-1000-8000-00805f9b34fb”); @Override protected void onCreate(Bundle savedInstanceState) { // (…) // Only GUI-stuff until this point bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); BluetoothDevice raspberryPi = bluetoothAdapter.getRemoteDevice(“B8:27:EB:56:DC:B2”); BluetoothSocket btSocket; try { btSocket = raspberryPi.createRfcommSocketToServiceRecord(SERIAL_UUID); btSocket.connect(); } […]

使用三星手机时,流式传输到VideoView只能在Wifi上播放

我使用以下库将YouTubevideo流式传输到Android应用程序。 http://code.google.com/p/android-youtube-player/source/browse/trunk/OpenYouTubeActivity/src/com/keyes/youtube/OpenYouTubePlayerActivity.java?r=3 我成功地通过3G和Wifi在HTC和摩托罗拉手机上播放video。 但是,在三星Galaxy(Epic 4G)和三星Galaxy II手机上,我只能使用Wifi播放。 3G给了我这个错误:“无法播放video。抱歉,此video无法播放。” 我试过强制低质量的YouTube流媒体,但这没有帮助。 我在我的日志中看到在两种情况下都调用了Start() (3G / Wifi)。 这是VideoView的问题吗? 有解决方法吗? 编辑2 这些video来自YouTube API。 我尝试使用嵌入式和普通流,以及可用的最低质量流(每个video不同)。 此外,我不认为这是一个编码问题,因为相同的video使用Wifi正确播放。 编辑1 无论是使用Wifi还是不使用3G,我都会收到以下输出。 01-30 15:22:38.305: E/MediaPlayer(3831): error (1, -1) 01-30 15:22:38.305: E/MediaPlayer(3831): callback application 01-30 15:22:38.305: E/MediaPlayer(3831): back from callback 01-30 15:22:38.309: E/MediaPlayer(3831): Error (1,-1) 根据此链接 ,这些错误意味着以下(我认为): /* Definition of first error event in range (not an […]