Articles of stream

VLC RTSP直播到Android

对于我的应用程序,我必须从decklink卡stream到Android应用程序(我必须是一个实时stream,所以无论是HLS或RTSP似乎是很好的解决scheme,因为我的应用程序的目标是Android 3+)。 我使用decklink sdk重新编译了VLC,并且能够通过networking直播到另一台电脑(但是它与RTSP只能工作60秒)。 这是我试过的: HTTPstream: ./vlc -vvv decklink:// –sout '#transcode{vcodec=mp4v,acodec=mpga,vb=56,ab=24,channels=1} :standard{access=http{use-key-frames},mux=ts,dst=:3001/stream.mpeg}' 它是在Android VLC 0.0.11,但只在WiFi,而不是在3G。 而且我无法使用VideoView在我的应用程序中播放它。 这是我使用的代码和相应的错误消息: String url = "http://134.246.63.169:5554/stream.mpeg"; VideoView videoView = (VideoView) this.findViewById(R.id.videoView); videoView.setVideoURI(Uri.parse(url)); videoView.setMediaController(new MediaController(this)); videoView.requestFocus(); videoView.start(); 错误消息: 04-08 15:26:46.272: D/MediaPlayer(16349): Couldn't open file on client side, trying server side 04-08 15:26:46.272: V/ChromiumHTTPDataSource(7680): connect on behalf of uid 1080867789 04-08 15:26:46.272: […]

Xamarin.Android pdf生成器

最近我一直在Xamarin.Android工作。 我需要使用PDF生成器通过电子邮件发送报告。 我已经遇到以下博客 。 我真的不知道要把什么放在FileStream fs = new FileStream (???????); 除此之外,我想在屏幕上打开或看到这个pdf。 using System; using Android.App; using Android.Content; using Android.Runtime; using Android.Views; using Android.Widget; using Android.OS; using System.IO; using XamiTextSharpLGPL; using iTextSharp.text; using iTextSharp.text.pdf; using iTextSharp; namespace PDFAapp { [Activity (Label = "PDFAapp", MainLauncher = true, Icon = "@drawable/icon")] public class MainActivity : Activity { int […]

使用Android MediaPlayer进行stream式传输 – 捕获错误和缓冲

我无法使MediaPlayer在从HTTP URL进行stream式传输时具有弹性。 如果我开始播放文件,但是放弃了连接(例如飞行模式), MediaPlayer#OnErrorListener生成what=1, extra=-17 ,然后不久之后生成what=-38, extra=0 。 没有任何文档可以在API中看到,除了extra是“通常依赖于实现”。 我正在使用HTC Hero(好吧,这是T-Mobile英国的G2 Touch)。 其他人是否也得到相同的价值观,并认为这些价值观意味着联系消失了吗? 当连接重新出现时,如何恢复最佳状态? (保存当前的偏好,每5秒重试一次?) 如何知道设备何时决定开始播放正在缓冲的内容 – 是否有callback(除了轮询isPlaying() )? 另外,我不完全确定onBufferingUpdate提供了什么。 我使用了40分钟的播客MP3 (64kbps bitrate) – 缓冲区分别为1%,2%,3%。 当我寻找大约30分钟时,显示75%,然后当我回到起点回到5%时,这个callback的目的是什么,而不是显示什么是caching? 最后 – 有没有什么方法可以将stream式传输到MP3 ?

Android InputStream丢弃前两个字节(已修改的BluetoothChat)

我已经使用BluetoothChat示例中的代码来发送和接收来自Bluetooth Scale的字节数据。 秤从设备接收命令,然后发回一个字节数组。 {2,198,48,48,48,48,199,3}在我们的通信协议中,2 = STX,198 =分组开始,199 =分组结束,3 = ETX。 所有的工作都很好,除了下面的代码在BluetoothChatService.java奇怪的反应,它会丢弃前两个字节。 /** * This thread runs during a connection with a remote device. * It handles all incoming and outgoing transmissions. */ private class ConnectedThread extends Thread { private final BluetoothSocket mmSocket; private final InputStream mmInStream; private final OutputStream mmOutStream; public ConnectedThread(BluetoothSocket socket, String socketType) […]

android mediaplayerstream在线mp3文件

我有android应用程序streammp3文件,播放器中播放此文件,但问题是mediaPlayer.prepare(); 需要很长时间的缓冲区和应用程序冻结,所以我试图使用prepareAsync(); //但是使用这个function我不能让玩家播放下一个文件 只是在线单个文件,如果我需要播放另一个文件,我应该closures重新启动活动时 玩结束不玩下,这是我的代码 我很抱歉我的英文不好 这是我的代码任何帮助,请 public void playMp3(String _link) { mediaPlayer.setOnPreparedListener(new OnPreparedListener() { public void onPrepared(MediaPlayer mp) { if(!mediaPlayer.isPlaying()){ mediaPlayer.start(); Progressbar.setVisibility(View.INVISIBLE); play.setVisibility(View.GONE); stop.setVisibility(View.VISIBLE); songProgressBar.setProgress(0); songProgressBar.setMax(100); } updateProgressBar(); } }); mediaPlayer.setOnCompletionListener(new OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { // TODO Auto-generated method stub mediaPlayer.reset(); songProgressBar.setProgress(0); songProgressBar.setSecondaryProgress(0); play.setVisibility(View.VISIBLE); stop.setVisibility(View.GONE); link = "http://server11.mp3quran.net/hawashi/002.mp3"; playMp3(link); } […]

Android设备作为A2DPconfiguration文件的接收者

基本上,我现在想要做的是使用Android设备作为A2DP接收器,当配对build立时,android会播放从发送器接收到的声音。 我担心,如果我使用STPconfiguration文件,可能会导致stream式传输延迟。 所以,我想使用A2DP,但这是可能的使用Android设备作为A2DP的接收器? 以及如何做到这一点?

如何通过蓝牙读取所有字节?

我有一个应用程序,使用蓝牙从其他设备接收一些数据(字节)。 一切进展顺利,但是我一起收到所有字节的小问题。 收到字节后,我会在Toast上显示它们,以便testing它们。 当其他设备一起发送10个字节(例如:“ABCDEFGHIJ”)时,程序将只读取第一个字节“A”,并显示在Toast上,然后进入第二次迭代,读取另外9个字节,并显示“ BCDEFGHIJ“在吐司上。 这是我的代码: byte[] buffer = new byte[1024]; // Read 1K character at a time. int bytes = 0; // Number of bytes. while(true) { try { // Read from the InputStream. bytes = bInStream.read(buffer); // Send the obtained bytes to the MainActivity. mainActivityHandler.obtainMessage(MainActivity.MESSAGE_READ, bytes, -1, buffer).sendToTarget(); } catch(IOException e) { connectionLost(); […]

如何在Android上解锁InputStream.read()?

我有一个线程在一个循环中调用InputStream的read()方法。 当没有更多字节要读取时,数据stream将被阻塞,直到新的数据到达。 如果我从另一个线程的InputStream调用close() ,则stream被closures,但被阻塞的read()调用仍然被阻塞。 我会假设read()方法现在应该返回值为-1来表示stream的结束,但它不。 相反,它会持续阻塞数分钟,直到发生tcp超时。 如何取消阻止close()调用? 编辑: 显然,当阻塞read()调用对应的stream或套接字是close() 'd时,常规JRE将立即抛出SocketException 。 我正在使用的Android Java运行时不会。 对于Android环境的解决scheme的任何提示将不胜感激。

如何在Android中关于图像中心平滑地旋转位图而无振动

我想旋转一个位图图像基于用户点击10度。 以下众多的计算器和谷歌答案,我尝试了matrix旋转的各种组合。 然而,图像并没有像预期的那样真正地旋转,并且给出了关于canvas中心的旋转和振动的抖动视图。 为了testing每次调用对象的绘制方法,我将旋转angular度增加10度(而不是点击)。 图像是一个对称的圆[64×64包围矩形],我希望它在屏幕中心像一个轮子一样围绕它自己的中心旋转,但是它以旋转的方式旋转和向右下移动并向右移动到屏幕中心。 public void draw(Canvas canvas) { Matrix matrix = new Matrix(); rotation += 10; float px = this.viewWidth/2; float py = this.viewHeight/2; matrix.setRotate(rotation, bitmap.getWidth()/2, bitmap.getHeight()/2); Bitmap newbmp = Bitmap.createBitmap(bitmap, 0, 0, getImgWidth(), getImgHeight(), matrix, true); canvas.drawBitmap(newbmp, px – (getImgWidth()/2), py – (getImgHeight()/2), null); }

如何从在线stream媒体电台获取stream媒体url

我被要求为某个电台制作非官方的在线stream媒体android应用程序。 我有一定的MP3或任何streamAndroid的stream媒体的经验。 但是我不知道在mediaPlayer.setDataSource(url)提供的stream url 。 有没有什么办法可以从官方stream媒体页面获取streamurl 这个广播stream ?