vlcandroid下載
A. android 如何使用vlc進行二次開發
到vlc官網下載vlc
for
android工程,就可以進行二次開發。看你需要什麼內容,我這邊也有一個調試好的工程,需要就加我QQ463855700
B. 有沒有vlc對應的android 版本
Android版VLC應用正式升級至1.0.0版本;
新版修復了ARMv8處理器,Android 5.0上的崩潰問題並在細節處進行了調整;
新版全新的界面已經在黑色和白色主題中使用;
C. vlc-android要怎麼用
一.認識android的架構
Android其本質就是在標準的linux系統上增加了Java虛擬機Dalvik,並在Dalvik虛擬機上搭建了一個JAVA的application framework,所有的應用程序都是基於JAVA的application framework之上。
android分為四個層,從高層到低層分別是應用程序層、應用程序框架層、系統運行庫層和linux核心層。
二.搭建環境
搭建開發環境
對國內的開發者來說最痛苦的是無法去訪問android開發網站。為了更好的認識世界,對程序員來說,會翻牆也是的一門技術,帶你去領略牆外的世界,好了,不廢話了, 國內開發者訪問(androiddevtools) 上面已經有了所有你要的資源,同時可以下載到我們的主角framework
但是這樣的搭建只能去閱讀源代碼,我們無法去更進一步去實現自己的rom,我們看到錘子的系統在早期的開放rom是自己從新實現了framework的代碼,現在看起來他成功了,所以我們還要去搭建android系統的源碼編譯環境。
搭建源碼編譯環境
http://www.cnblogs.com/bluestorm/p/4419135.html
https://source.android.com/source/downloading.html(這里詳細的介紹了如何下載編譯)
三.開始主題
在一開始寫c程序的時候都有一個運行的入口,比如
#include <iostream>
#include <cmath>
#include <algorithm>
using namespace std;
//這里的main就是應用的入口
int main(int argc, const char * argv[]){
return 0;
}
在計算機網路原理中我們用socket實現一個伺服器端,不斷的接聽客戶端的訪問,而且他的代碼是這樣實現的:
#include <winsock2.h>
#pragma comment(lib, "WS2_32.lib")
#include <stdio.h>
void main()
{
WORD wVersionRequested;//版本號
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD(2, 2);//2.2版本的套接字
//載入套接字型檔,如果失敗返回
err = WSAStartup(wVersionRequested, &wsaData);
if (err != 0)
{
return;
}
//判斷高低位元組是不是2,如果不是2.2的版本則退出
if (LOBYTE(wsaData.wVersion) != 2 ||
HIBYTE(wsaData.wVersion) != 2)
{
return;
}
//創建流式套接字,基於TCP(SOCK_STREAM)
SOCKET socSrv = socket(AF_INET, SOCK_STREAM, 0);
//Socket地址結構體的創建
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr = htonl(INADDR_ANY);//轉換Unsigned long型為網路位元組序格
addrSrv.sin_family = AF_INET;//指定地址簇
addrSrv.sin_port = htons(6000);
//指定埠號,除sin_family參數外,其它參數都是網路位元組序,因此需要轉換
//將套接字綁定到一個埠號和本地地址上
bind(socSrv, (SOCKADDR*)&addrSrv, sizeof(SOCKADDR));//必須用sizeof,strlen不行
listen(socSrv, 5);
SOCKADDR_IN addrClient;//字義用來接收客戶端Socket的結構體
int len = sizeof(SOCKADDR);//初始化參數,這個參數必須進行初始化,sizeof
//循環等待接受客戶端發送請求
while (1)
{
//等待客戶請求到來;當請求到來後,接受連接請求,
//返回一個新的對應於此次連接的套接字(accept)。
//此時程序在此發生阻塞
SOCKET sockConn = accept(socSrv, (SOCKADDR*)&addrClient, &len);
char sendBuf[100];
sprintf(sendBuf, "Welcome %s to JoyChou",
inet_ntoa(addrClient.sin_addr));//格式化輸出
//用返回的套接字和客戶端進行通信
send(sockConn, sendBuf, strlen(sendBuf)+1, 0);//多發送一個位元組
//接收數據
char recvBuf[100];
recv(sockConn, recvBuf, 100, 0);
printf("%s\\n", recvBuf);
closesocket(sockConn);
}
}
他採用了一個while死循環去監聽客戶端的請求。
在一遍啰嗦之後,主角終於閃亮的登場了。
先上源代碼
public final class ActivityThread {
public static void main(String[] args) {
SamplingProfilerIntegration.start();
CloseGuard.setEnabled(false);
Environment.initForCurrentUser();
EventLogger.setReporter(new EventLoggingReporter());
Security.addProvider(new AndroidKeyStoreProvider());
final File configDir = Environment.getUserConfigDirectory(UserHandle.myUserId());
TrustedCertificateStore.setDefaultUserDirectory(configDir);
Process.setArgV0("<pre-initialized>");
Looper.prepareMainLooper();
//從中可以看到為app開辟了一個線程進入了looper之中
ActivityThread thread = new ActivityThread();
thread.attach(false);
if (sMainThreadHandler == null) {
sMainThreadHandler = thread.getHandler();
}
AsyncTask.init();
if (false) {
Looper.myLooper().setMessageLogging(new
LogPrinter(Log.DEBUG, "ActivityThread"));
}
Looper.loop();
throw new RuntimeException("Main thread loop unexpectedly exited");
}
}
看到源碼失望了,沒有一個while循環啊,其實用了他方法實現
//用一個looper的機制循環監聽響應
Looper.prepareMainLooper();
Looper.loop();
進一步深入代碼
public static void loop() {
final Looper me = myLooper();
if (me == null) {
throw new RuntimeException("No Looper; Looper.prepare() wasn't called on this thread.");
}
final MessageQueue queue = me.mQueue;
Binder.clearCallingIdentity();
final long ident = Binder.clearCallingIdentity();
// 在這里看到了一個循環監聽消息
for (;;) {
Message msg = queue.next(); // might block
if (msg == null) {
// No message indicates that the message queue is quitting.
return;
}
Printer logging = me.mLogging;
if (logging != null) {
logging.println(">>>>> Dispatching to " + msg.target + " " +
msg.callback + ": " + msg.what);
}
msg.target.dispatchMessage(msg);
if (logging != null) {
logging.println("<<<<< Finished to " + msg.target + " " + msg.callback);
}
// Make sure that ring the course of dispatching the
// identity of the thread wasn't corrupted.
final long newIdent = Binder.clearCallingIdentity();
if (ident != newIdent) {
Log.wtf(TAG, "Thread identity changed from 0x"
+ Long.toHexString(ident) + " to 0x"
+ Long.toHexString(newIdent) + " while dispatching to "
+ msg.target.getClass().getName() + " "
+ msg.callback + " what=" + msg.what);
}
msg.recycleUnchecked();
}
}
D. 提取不了音頻 vlc安卓
換種方法,可以使用VLC Media Player從MP4提取音頻
打開VLC播放器,然後單擊 Media 標簽點擊 Convert/Save 轉換或保存文件然後點擊 Add 選擇 MP4 您要從中提取音頻的文件。 (如果是YouTube文件,請先將其下載到計算機上,然後再開始此過程)。在下一步中,選擇輸出格式為 MP3過單擊將文件保存到所需位置Browse 並為轉換後的文件分配一個新名稱最後,點擊 Save 保存文件
如果您的文件已損壞或損壞,這些方法可能不會成功。 如果您發現文件已損壞並且無法播放,則可以使用專業工具(例如Yodot Repair Software)對其進行修復。
E. 手機ipv6視頻播放器,我有ipv6的地址,是教育網的,用電腦能看,但是手機打不開,求個播放器!
用VLC播放器可以。
在Android上是可以觀看ipv6的VLC直播的。首先要連接一個具有IPv6地址的無線網路,接著要下載一個VLC for Android軟體。接下來和在PC看是類似的,獲得地址,在播放器中打開地址。
第一步:獲取視頻地址(可通過http://www.iqi.com/iptv6.html或者http://hdtv.neu6.e.cn/獲取VLC的ipv6直播鏈接)。可以看圖示,瀏覽器打開網站,選擇VLC選項卡,長按鏈接,在出現菜單,復制vlc的直播地址。
F. 求vlc播放器 中文版軟體
軟體介紹:
vlc播放器中文版是一款操作簡單的媒體播放器,它支持眾多音頻與視頻解碼器及文件格式,並支持DVD影音光碟,VCD影音光碟及各類流式協議,大多數的媒體文件都可以播放。
所需工具:點擊下載 vlc播放器 中文版
軟體特點
1、簡單、快速、強大
1)vlc播放器中文版能播放任何內容 - 文件、光碟、攝像頭、設備及流媒體
2)可播放大多數格式,無需安裝編解碼器包 - MPEG-2, MPEG-4, H.264, MKV, WebM, WMV, MP3...
3)可在所有平台運行 - Windows, Linux, Mac OS X, Unix, iOS, Android ...
4)vlc播放器中文版完全免費 - 無間諜軟體,無廣告,無跟蹤用戶的行為
2、自定義
1)添加外觀
2)設計外觀可採用 VLC 外觀編輯器
3)安裝擴展
3、vlc播放器中文版具有跨平台的特性,它有Linux、Microsoft Windows、Mac OS X、BeOS、BSD、Pocket PC及Solaris的版本。
4、與另一個著名播放器Mplayer(使用Gtk+庫)不同的是,VLC使用了Qt庫來編寫Linux的用戶操作界面。
5、在Windows,Linux以及某些平台,vlc播放器中文版提供了一個Mozilla擴充包,使得某些網站上附帶的QuickTime及Windows Media多媒體文件,可以在非微軟或蘋果計算機的操作系統中,正常顯示於Mozilla的瀏覽器下。
6、從版本0.8.2開始,VLC亦提供了一個ActiveX的擴充包,使用戶可以在Internet Explorer下,正常顯示某些網站上附帶的QuickTime及Windows Media多媒體文件。
7、從1.0.5版本開始VLC的ActiveX的擴充包已經放棄js介面的調用。
8、vlc播放器中文版還有一個非常好的功能——支持播放某些沒有下載完成的視頻文件部份內容。
G. VLC播放器的Android版本
英文名稱:VLC Beta
軟體版本: V0.0.1
更新時間:2012-07-27
軟體類別:媒體播放
軟體系統:Android 2.1+
H. vlc在哪裡可以下載到啊
http://conut.skycn.com/softdownload.php?id=13275&url=http://hdt.driversky.com/down/vlc-0.8.4-test1-win32.exe
I. vlc for android 源碼能不能在windows環境下編譯
1. 准備編譯環境
基本上按照這篇wiki的介紹就足夠了,為了順利完成編譯,建議首先保證相關的軟體或者依賴庫都已經下載好了,我再強調一下幾個重點注意事項。
(1) Android SDK:必須使用SDK Platform Android 5.0, API 21,因為VLC-for-android用到了Android 5.0 的一些API。
(2) 最好通過apt-get install 把下面這些依賴的軟體都安裝一遍,或更新到最新版
git,apache-ant (or ant), autoconf, automake, autopoint, cmake,
gawk (or nawk), gcc, g++, libtool, m4, patch, pkg-config, ragel,
subversion, unzip.
2. 下載源碼包
直接通過git下載VLC-for-android最新的源碼即可:
git clone git://git.videolan.org/vlc-ports/android.git
3. 編譯VLC源碼和VLC Android工程
(1) 配置編譯環境變數
具體參考wiki的介紹,你可以寫個shell腳本來執行,避免每次編譯都要配置,下面是我的環境變數,可以根據你的路徑修改:
#! /bin/sh
export ANDROID_SDK=/opt/android/sdk/
export ANDROID_NDK=/opt/android/android-ndk-r10/
export ANT_DIR=/opt/android/ant/
export PATH=$PATH:$ANDROID_SDK/platform-tools:$ANDROID_SDK/tools:$ANT_DIR
export ANDROID_ABI=armeabi-v7a
(2) 執行編譯
sh compile.sh
VLC不愧是使用這么廣泛的播放器,它的編譯腳本寫得非常強大和智能,直接通過執行compile.sh,它會自動check所有的依賴,並通過網路去下載缺失的庫。
首先,它會下載vlc的源碼,並存放在當前目錄下。然後去下載依賴的第三方庫文件。
當然,由於GFW的存在,有的時候下載會失敗,這個時候,就需要你手動去Google搜索它正在下載的依賴文件,手動下載好了之後放到 vlc/contrib/tarballs目錄下,然後再回到命令行重新執行 sh compile.sh
它依賴的全部第三方庫文件如圖所示:
(3) 編譯問題
編譯過程還算順利,只出現過一個大問題,如下:
google/protobuf/unittest.proto:853:21: Missing field number.
google/protobuf/unittest.proto:862:1: Reached end of input in message definition (missing '}').
make[3]: *** [unittest_proto_middleman] Error 1
網上也搜不到解決方案,我看了下GitHub上Protobuf的Readme,然後下載了最新的protobuf放到vlc/contrib
/tarballs/contrib-android-arm-linux-androideabi/protobuf目錄下,執行.
/configure --disable-shared,再編譯,沒想到就直接過了。
4. 載入VLC-For-Android的Java工程
編譯通過後,就可以直接在vlc-android/bin目錄下看到debug版的apk了,下面簡單說說在Eclipse中載入vlc-android的整個工程。
打開Eclipse,選擇Import,把vlc-for-android目錄下所有的工程到導入到Eclipse中(我去掉了TV工程),如圖所
示,有5個必須的工程,其中,VLC是主工程,其他四個都是Lib工程。沒有什麼意外的話,直接運行VLC工程,就可以在Android手機上看到VLC
播放器應用了!
J. 編譯android-vlc支持rtsp,是不是需要添加live555誰有詳細的步驟呢給說下,最好有編譯好的源碼
vlc-android是直接支持rtsp的,可以播放rtsp。http,mms網路流 我編譯好了一份源代碼,你可以下載看看 http://download.csdn.net/detail/wng2010/4971056