A. 安卓系統怎麼視頻通話
撥打可視電話,主叫和被叫雙方終端須支持可視電話功能,方法如下:
1.在手機上輸入被叫號碼後,選擇「選項」中的「視頻通話」,即可發起可視電話呼叫;
2.也可以通過通訊錄選擇向某聯系人發起可視電話呼叫。
B. 安卓手機視頻通話為什麼看不了視頻
安卓手機視頻通話如果是看不到自己的視頻就是自己的攝像頭壞了。需要按照以下三個方面來闡述分析。
首先如果安卓手機視頻通話看不到自己的視頻就是自己的攝像頭壞了,需要維修自己手機的攝像頭。
其次是如果安卓手機視頻通話看不到對方的視頻就是對方的手機攝像頭壞了,需要讓其維修手機。
再者是如果安卓手機視頻通話都看不到雙方的視頻就是網路的問題,需要斷開視頻通話重新連接網路。
安卓手機視頻通話的注意事項:
1、需要確保自己的前置攝像頭處於打開的狀態。
2、需要確保對方的前置攝像頭處於打開的狀態。
3、需要確保網路處於正常的狀態。
C. 蘋果和安卓手機怎麼視頻通話
採用雙方都打開微信就可以實現視頻或者語音通話了
D. VoLTE在android手機上是怎麼的實現的
VoLTE就是基於4G網路的高清通話、高清視頻。 VoLTE是什麼? VoLTE即Voice OVER LTE,顧名思義,就是通過LTE網路作為業務接入,基於IMS(IP多媒體子系統)網路實現業務控制的語音解決方案,可實現數據與語音業務在同一網路下的統一。在此之前,由於4G網路無法單獨承載語音通話,因此在兩年前4G開始大規模商用時,運營商基本上都採用CSFB和SGLTE兩種解決方案。SGLTE與VOLTE都可以支持一邊通話一邊上網,只不過區別在於SGLTE在通話時只能用2/3G上網。而VOLTE則可以在4G網路下一邊通話一邊上網。 上面說到,無論是CSFB還是SGLTE,都是採用傳統的語音業務電路交換網路,在4G網路下將語音業務回落到2/3G網路,但LTE只有一個分組交換,處理不了CS語音,所以VOLTE需要額外載入一個IMS網路來處理語音通話。簡單描述一下過程,就是在VoLTE看來,信息數據和語音通話沒什麼區別,都是數據,先統一進行打包處理,然後這個額外載入的IMS處理這些數據包,區分普通數據和語音數據,來實現手機完整的通信功能。 VoLTE有什麼好處? ▲未開通VoLTE ▲開通VoLTE 前文說道,在早起的4G時代,由於技術原因,用戶基本上以CSFB和SGLTE兩種解決方案進行通話。CSFB與SGLTE本質上都是採用4G網路進行數據傳輸,而使用2/3G網路進行通話,只不過區別在於CSFB是網路單待而SGLTE則可以做到單卡雙待,但只能在2/3G下上網,在網路速度上有一定的局限性,而4G+的網速相信大家已經有了體會。簡單來說,就是用了VoLTE,最顯而易見的好處就是可以一邊打電話一邊上網,媽媽再也不用擔心我玩皇室戰爭時別人給我打電話了。 另外,由於VoTLE是在LTE網路上承載的信息傳輸,快速的網路也使得VoLTE可以支持高解析度語音解碼技術,因此VoLTE的語音通話質量相比於傳統的數模轉換有了大幅度提升,通話音質提升兩倍。另外,目前VoLTE的電話接通時延大約為1—3秒,比2/3G網路下提升50%(筆者實測在傳統模式下,通話時延大約6S接通,VOLTE約2-3秒)。另外,根據移動公布的數據,VOLTE的通話掉線率幾乎為0,所以大家不必擔心在大規模商用的時候電話通話不穩的問題。 VoLTE與微信等語音聊天的區別? 綜合來看,VoLTE就是基於4G網路承載的IP數據業務傳輸,簡單來說,就是在4G網下的語音通話,在本質上有點類似我們經常使用的微信語音/視頻聊天。再加上運營商未來採用的全流量計費,那麼VoLTE不就是運營商版的微信么?其實不然,微信的語音通話雖然與VOLTE本質上有些類似,但微信採用基於VoIP技術,與VOLTE還是有所區別。 一般來說,無論是QQ、SKYPE、微信這樣可以直接越過運營商進行語音通話的OTT應用都是基於VoIP技術,原理上是手機APP將模擬聲音信號以數據包的形式通過網路進行實時傳遞。但與VoLTE的區別就在於微信這種通信類APP沒有採用QoS保障技術,也就是說會很容易受到網路波動的影響。比如在2G的網路下,想發出去微信語音或圖片則幾乎不太可能,但此時VoLTE會順延切換到2/3G上,不會影響基本通話。並且在地鐵這樣人多的時候,即使手機顯示4G但也經常出現“有信號沒服務”的情況,VoLTE通話則基本不會受到影響。最關鍵的一點,相比於微信語音通話這樣的話音類應用,運營商開通的VoLTE在平時就像普通電話一樣,基本上可以保證一定的接通率,這才是VoLTE真正切實的優勢。因此,VoLTE並非一個網路電話就可以替代,想像一下,在真正有需要的時候,你是會發一段微信語音,還是打一個電話? VoLTE如何開通,費用如何? 目前移動、聯通、電信三大運營商在部分城市都已經了VoLTE的試商用。具體城市需要到具體詢問當地運營商。而具體到手機,由於安卓的手機實在是種類繁多,用戶還需要先自行確認自己的手機對VoLTE是否支持。而iPhone6、iPhone6 Plus、iPhone6S、iPhone6S Plus國行/港行則都支持VOLTE。移動用戶需要升級到iOS9.2,聯通用戶需要升級至iOS9.2.1,以蘋果用戶為例,在“蜂窩移動網路”的啟動4G顯示為“語音與數據”,安卓手機顯示為“HD”或“VoLTE”,則表明開通成功。 移動開通VoLTE的方式:編輯簡訊“KTVOLTE”發至10086,運營商會自動開通VoLTE;收費標准:VoLTE高清語音通話與普通市話一樣,優先走用戶已經開通的套餐中的分鍾數,如果沒有套餐則與正常的通話收費一樣。以筆者的電話為例,北京市神州行用戶,每分鍾0.12元;高清視頻通話則獨立於套餐之外,每分鍾收費0.29元。 聯通開通VoLTE的方式:唯一的方式就是撥打10010,人工開通VoLTE;收費標准:VoLTE高清語音與高清視頻一樣,都是優先走套餐內的分鍾數,如果沒有,則按照正常的市話標准收費。與移動的區別就在於聯通VoLTE高清語音/視頻在收正常話費的同時會消耗用戶的流量,視頻功能會消耗更多。
E. Android系統下有能在線視頻聊天的軟體嗎
Android系統下有能在線視頻聊天的軟體。
視頻聊天實際上就是利用網頁技術,客戶端技術運用可視化的數碼工具來聊天。例如:Skype,微信等。
Skype是一款即時通訊軟體,其具備IM所需的功能,比如視頻聊天、多人語音會議、多人聊天、傳送文件、文字聊天等功能。它可以免費高清晰與其他用戶語音對話,也可以撥打國內國際電話,無論固定電話、手機、小靈通均可直接撥打,並且可以實現呼叫轉移、簡訊發送等功能。
微信 (WeChat) 是為智能終端提供即時通訊服務的免費應用程序,微信支持跨通信運營商、跨操作系統平台通過網路快速發送免費(需消耗少量網路流量)語音簡訊、視頻、圖片和文字,同時,也可以使用通過共享流媒體內容的資料和基於位置的社交插件「搖一搖」、「漂流瓶」、「朋友圈」、」公眾平台「、」語音記事本「等服務插件。
F. 怎樣讓安卓和iphone視頻聊天
可以的,用fring這個軟體,很強的,支持很多賬號,用skype賬號再配合skype插件就很好。免費。skype也行,不過skype在官網找不到android版本的,雖然這樣,有很多地方仍然可以下載到得,而且看起來界面美觀就像官方的一樣,是不是官方就不知道了,我沒有實際用過。雙方都用這軟體的話就免費。 好像都可以視屏呼叫電腦客戶端的。
G. 關於安卓版skype的視頻通話問題
關於安卓版skype的視頻通話問題
解決方案:
1、卸載skype客戶端,再重新安裝。
2、到更快網速的環境下,比如WIFI環境下。
H. Android開發視頻通話怎麼實現
/**
* Android視頻聊天
* 1、初始化SDK 2、連接伺服器、 3、用戶登錄;4、進入房間;5、打開本地視頻;6、請求對方視頻
*/
public class VideoChatActivity extends Activity implements AnyChatBaseEvent
{
private AnyChatCoreSDK anychat; // 核心SDK
private SurfaceView remoteSurfaceView; // 對方視頻
private SurfaceView localSurfaceView; // 本地視頻
private ConfigEntity configEntity;
private boolean bSelfVideoOpened = false; // 本地視頻是否已打開
private boolean bOtherVideoOpened = false; // 對方視頻是否已打開
private TimerTask mTimerTask; // 定時器
private Timer mTimer = new Timer(true);
private Handler handler; // 用Handler來不間斷刷新即時視頻
private List<String> userlist = new ArrayList<String>();//保存在線用戶列表
private int userid; // 用戶ID
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_video_chat);
remoteSurfaceView = (SurfaceView) findViewById(R.id.surface_remote);
localSurfaceView = (SurfaceView) findViewById(R.id.surface_local);
configEntity = ConfigService.LoadConfig(this);//載入視頻通話設置
loginSystem();// 初始化SDK 連接伺服器
mTimerTask = new TimerTask(){
public void run(){
Message mesasge = new Message();
handler.sendMessage(mesasge);
}
};
mTimer.schele(mTimerTask, 1000, 100);
handler = new Handler(){
@Override
public void handleMessage(Message msg){
VideoChat();// 不間斷顯示即時視頻通話畫面
super.handleMessage(msg);
}
};
}
// 初始化SDK 連接伺服器
private void loginSystem(){
if (anychat == null){
anychat = new AnyChatCoreSDK();
anychat.SetBaseEvent(this); // 設置基本事件回調函數
if (configEntity.useARMv6Lib != 0) // 使用ARMv6指令集
anychat.SetSDKOptionInt(AnyChatDefine.
BRAC_SO_CORESDK_USEARMV6LIB, 1);
anychat.InitSDK(android.os.Build.VERSION.SDK_INT, 0); // 初始化SDK
}
anychat.Connect("demo.anychat.cn", 8906);// 連接伺服器
}
// 顯示即時視頻通話畫面
public void VideoChat(){
if (!bOtherVideoOpened){
if (anychat.GetCameraState(userid) == 2
&& anychat.GetUserVideoWidth(userid) != 0){
SurfaceHolder holder = remoteSurfaceView.getHolder();
holder.setFormat(PixelFormat.RGB_565);
holder.setFixedSize(anychat.GetUserVideoWidth(userid),
anychat.GetUserVideoHeight(userid));
Surface s = holder.getSurface(); // 獲得視頻畫面
anychat.SetVideoPos(userid, s, 0, 0, 0, 0); // 調用API顯示視頻畫面
bOtherVideoOpened = true;
}
if (!bSelfVideoOpened){
if (anychat.GetCameraState(-1) == 2
&& anychat.GetUserVideoWidth(-1) != 0){
SurfaceHolder holder = localSurfaceView.getHolder();
holder.setFormat(PixelFormat.RGB_565);
holder.setFixedSize(anychat.GetUserVideoWidth(-1),
anychat.GetUserVideoHeight(-1));
Surface s = holder.getSurface();
anychat.SetVideoPos(-1, s, 0, 0, 0, 0);
bSelfVideoOpened = true;
}
}
}
public void OnAnyChatConnectMessage(boolean bSuccess){
if (!bSuccess){
Toast.makeText(VideoChatActivity.this, "連接伺服器失敗,自動重連,請稍後...", Toast.LENGTH_SHORT).show();
}
anychat.Login("android", ""); // 伺服器連接成功 用戶登錄
}
public void OnAnyChatLoginMessage(int dwUserId, int dwErrorCode){
if (dwErrorCode == 0) {
Toast.makeText(this, "登錄成功!", Toast.LENGTH_SHORT).show();
anychat.EnterRoom(1, ""); // 用戶登錄成功 進入房間
ApplyVideoConfig();
} else {
Toast.makeText(this, "登錄失敗,錯誤代碼:" + dwErrorCode, Toast.LENGTH_SHORT).show();
}
}
public void OnAnyChatEnterRoomMessage(int dwRoomId, int dwErrorCode){
if (dwErrorCode == 0) { // 進入房間成功 打開本地音視頻
Toast.makeText(this, "進入房間成功", Toast.LENGTH_SHORT).show();
anychat.UserCameraControl(-1, 1); // 打開本地視頻
anychat.UserSpeakControl(-1, 1); // 打開本地音頻
} else {
Toast.makeText(this, "進入房間失敗,錯誤代碼:" + dwErrorCode, Toast.LENGTH_SHORT).show();
}
}
public void OnAnyChatOnlineUserMessage(int dwUserNum, int dwRoomId){
if (dwRoomId == 1){
int user[] = anychat.GetOnlineUser();
if (user.length != 0){
for (int i = 0; i < user.length; i++){
userlist.add(user[i]+"");
. }
String temp =userlist.get(0);
userid = Integer.parseInt(temp);
anychat.UserCameraControl(userid, 1);// 請求用戶視頻
anychat.UserSpeakControl(userid, 1); // 請求用戶音頻
}
else {
Toast.makeText(VideoChatActivity.this, "當前沒有在線用戶", Toast.LENGTH_SHORT).show();
}
}
}
public void OnAnyChatUserAtRoomMessage(int dwUserId, boolean bEnter){
if (bEnter) {//新用戶進入房間
userlist.add(dwUserId+"");
}
else { //用戶離開房間
if (dwUserId == userid)
{
Toast.makeText(VideoChatActivity.this, "視頻用戶已下線", Toast.LENGTH_SHORT).show();
anychat.UserCameraControl(userid, 0);// 關閉用戶視頻
anychat.UserSpeakControl(userid, 0); // 關閉用戶音頻
userlist.remove(userid+""); //移除該用戶
if (userlist.size() != 0)
{
String temp =userlist.get(0);
userid = Integer.parseInt(temp);
anychat.UserCameraControl(userid, 1);// 請求其他用戶視頻
anychat.UserSpeakControl(userid, 1); // 請求其他用戶音頻
}
}
141. else {
userlist.remove(dwUserId+""); //移除該用戶
}
}
}
public void OnAnyChatLinkCloseMessage(int dwErrorCode){
Toast.makeText(VideoChatActivity.this, "連接關閉,error:" + dwErrorCode, Toast.LENGTH_SHORT).show();
}
@Override
protected void onDestroy(){ //程序退出
anychat.LeaveRoom(-1); //離開房間
anychat.Logout(); //注銷登錄
anychat.Release(); //釋放資源
mTimer.cancel();
super.onDestroy();
}
// 根據配置文件配置視頻參數
private void ApplyVideoConfig(){
if (configEntity.configMode == 1) // 自定義視頻參數配置
{
// 設置本地視頻編碼的碼率(如果碼率為0,則表示使用質量優先模式)
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_BITRATECTRL,configEntity.videoBitrate);
if (configEntity.videoBitrate == 0)
{
// 設置本地視頻編碼的質量
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_QUALITYCTRL,configEntity.videoQuality);
}
// 設置本地視頻編碼的幀率
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_FPSCTRL,configEntity.videoFps);
// 設置本地視頻編碼的關鍵幀間隔
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_GOPCTRL,configEntity.videoFps * 4);
// 設置本地視頻採集解析度
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_WIDTHCTRL,configEntity.resolution_width);
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_HEIGHTCTRL,configEntity.resolution_height);
// 設置視頻編碼預設參數(值越大,編碼質量越高,佔用CPU資源也會越高)
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_PRESETCTRL,configEntity.videoPreset);
}
// 讓視頻參數生效
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_APPLYPARAM,configEntity.configMode);
// P2P設置
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_NETWORK_P2PPOLITIC,configEntity.enableP2P);
// 本地視頻Overlay模式設置
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_OVERLAY,configEntity.videoOverlay);
// 迴音消除設置
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_AUDIO_ECHOCTRL,configEntity.enableAEC);
// 平台硬體編碼設置
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_CORESDK_USEHWCODEC,configEntity.useHWCodec);
// 視頻旋轉模式設置
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_ROTATECTRL,configEntity.videorotatemode);
// 視頻平滑播放模式設置
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_STREAM_SMOOTHPLAYMODE,configEntity.smoothPlayMode);
// 視頻採集驅動設置
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_CAPDRIVER,configEntity.videoCapDriver);
// 本地視頻採集偏色修正設置
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_FIXCOLORDEVIA,configEntity.fixcolordeviation);
// 視頻顯示驅動設置
anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_VIDEOSHOW_DRIVERCTRL,configEntity.videoShowDriver);
}
}