博客 / 列表

輕口味 - HarmonyOS 6.0 UI開發新姿勢:基於ArkUI NDK UI開發第一個頁面

HarmonyOS 6.0 UI開發新姿勢:基於ArkUI NDK UI開發第一個頁面 在HarmonyOS 6.0中,ArkUI推出了NDK UI開發能力,允許開發者通過C/C++語言直接構建Native層UI組件,並與ArkTS頁面無縫集成。這種開發方式不僅能充分利用Native層的性能優勢,還能滿足部分複雜UI場景的定製化需求。本文將從零開始,帶大家掌握ArkUI NDK UI開發的核心流程

harmonyos-next , harmonyos

輕口味 - HarmonyOS 6.0 UI開發新姿勢:基於ArkUI NDK用 C、C++ 構建高性能自定義 UI 界面

HarmonyOS 6.0 UI開發新姿勢:基於ArkUI NDK用 C、C++ 構建高性能自定義 UI 界面 在 HarmonyOS 應用開發中,ArkUI 聲明式開發框架憑藉 ArkTS 語言的簡潔性和高效性,成為了通用 UI 界面開發的首選方案。但在一些特殊的開發場景下,單純的 ArkTS 開發難以滿足定製化、高性能或跨框架橋接的需求。此時,ArkUI 提供的 NDK 接口就成為了關鍵突破口

harmonyos-next , harmonyos

輕口味 - HarmonyOS 6.0 雲台、機械臂等機械體設備與手機交互能力Mechanic Kit介紹

HarmonyOS 6.0 雲台、機械臂等機械體設備與手機交互能力Mechanic Kit介紹 去年在公司得了一個大疆osmo mobile SE雲台,最近出去玩的時候想着用一下拍點視頻,下載了嚐鮮版的DJ Mimo發現只支持Osmo Mobile 7/7P/8的連接,SE還不支持,還得用卓易通版本,由此心中好奇手機和雲台控制的原理是什麼,HarmonyOS 上面如何實現,於是翻文檔研究發現Har

harmonyos-next , harmonyos

輕口味 - HarmonyOS 6實操: 來去電展示企業聯繫人信息

背景介紹 今年6月份HDC大會在一個技術展台跟華為架構師交流時他給介紹了HarmonyOS提供的企業服務能力,在用户接聽撥打電話時,頁面顯示已安裝企業應用的聯繫人信息,方便用户識別來去電人信息,快速回應,增強企業內部溝通效率。由於工作場景確實2B業務挺重,聽了很感興趣,之前沒有任何手機系統提供這種能力,還專門做了手環設備,用户在接聽電話時,手環設備獲取通知信息,提取手機號調用服務端獲取同事信息提高

harmonyos-next , harmonyos

輕口味 - 【倉頡開發HarmonyOS系列】倉頡網絡請求功能封裝

背景 在萬物互聯的智能時代,應用的核心價值往往依賴於與外部世界的實時交互:社交軟件需要通過網絡同步消息,電商應用依賴接口獲取商品與訂單數據,智能助手依靠API調用大模型能力,甚至系統級的設備協同也需通過網絡傳遞指令。可以説,​網絡接口是連接應用與外部服務的“數字神經”​,其穩定性、效率與易用性直接影響用户體驗與開發效率。從技術角度看,網絡接口是應用與遠程服務器(或本地網絡服務)交換數據的標準化通道

倉頡語言 , harmonyos-next , harmonyos

輕口味 - 【倉頡開發HarmonyOS系列】倉頡關係型數據庫基礎操作實戰

在HarmonyOS中ArkData數據管理模塊提供了用户首選項、鍵值型數據管理、關係型數據管理、分佈式數據對象、跨應用數據管理和統一數據管理框架。其中關係型數據管理(RelationalStore)提供了關係型數據庫的增刪改查、加密、手動備份以及訂閲通知能力;提供了向量數據庫的存儲、管理、向量數據檢索以及向量數據相似度計算的能力。應用需要使用關係型數據庫的分佈式能力時,RelationalSto

倉頡語言 , harmonyos-next , harmonyos

輕口味 - Android C++系列:Linux信號(二)

PCB的信號集 如果在進程解除對某信號的阻塞之前這種信號產生過多次,將如何處理?POSIX.1允 許系統遞送該信號一次或多次。Linux是這樣實現的:常規信號在遞達之前產生多次只 計一次,而實時信號在遞達之前產生多次可以依次放在一個隊列裏。本文不討論實時信 號。每個信號只有一個bit的未決標誌,非0即1,不記錄該信號產生了多少 次,阻塞標誌也是這樣表示的。因此,未決和阻塞標誌可以用相同的數據類型s

c++11 , Linux , Android

輕口味 - 深入理解rtmp(二)之C++腳手架搭建

前面深入理解rtmp(1)之開發環境搭建中我們已經搭建好服務器,並且利用一些現成的工具可以推送直播流,播放直播流了.這篇文章我們開始搭建從零開發一套rtmp推流拉流sdk,對着協議實現,達到真正的"深入理解". 作為一個碼農,搬磚搬到一定高度就需要"腳手架"來支撐我們"夠得住".為了方面我們把rtmp推拉流sdk實現為一個PC上的命令行程序,當開發調試穩定後,我們可以快速的通過交叉編譯工具編譯到A

音視頻 , tcp-ip , c++ , rtmp

輕口味 - 深入理解rtmp(三)之手把手實現握手協議

深入理解rtmp(三)之手把手實現握手協議 RTMP是基於TCP協議的應用層協議,默認通信端口1935.實現握手協議前先了解一下rtmp握手協議吧!!! 握手過程 要建立一個有效的RTMP Connection鏈接,首先要“握手”:客户端要向服務器發送C0,C1,C2(按序)三個chunk,服務器向客户端發送S0,S1,S2(按序)三個chunk,然後才能進行有效的信息傳輸。RTMP協議本身並沒有

音視頻 , tcp , rtmp , Android

輕口味 - Android C++系列:Linux網絡(三)協議格式

1. 數據包封裝 傳輸層及其以下的機制由內核提供,應用層由用户進程提供(後面將介紹如何使用 socket API編寫應用程序),應用程序對通訊數據的含義進行解釋,而傳輸層及其以下 處理通訊的細節,將數據從一台計算機通過一定的路徑發送到另一台計算機。應用層 數據通過協議棧發到網絡上時,每層協議都要加上一個數據首部(header),稱為封裝 (Encapsulation),如下圖所示 不同的協議層對

tcp , c++ , Linux , Android , udp

輕口味 - Android C++系列:Linux網絡(四)TCP詳解

1. tcp狀態轉換圖 這個圖N多人都知道,它排除和定位網絡或系統故障時大有幫助,但是怎樣牢牢地將這 張圖刻在腦中呢?那麼你就一定要對這張圖的每一個狀態,及轉換的過程有深刻 的認識, 不能只停留在一知半解之中。下面對這張圖的11種狀態詳細解析一下,以便加強記憶!不過在這之前,先回顧一下TCP建立連接的三次握手過程,以及關閉連接的四次握手過程。 1.1建立連接協議(三次握手) 客户端發送

tcp , c++ , Linux , Android

輕口味 - Android C++系列:Linux網絡(五)常見術語

1. 什麼是路由(route)? 網絡信息從信源到信宿的路徑。路由是指路由器從一個接口上收到數據包,根據數據包的目的地址進行定向並轉發到另一個接口的過程。 路由通常與橋接來對比,在粗心的人看來,它們似乎完成的是同樣的事。它們的主要區別在於橋接發生在OSI參考模型的第二層(數據鏈路層),而路由發生在第三層(網絡層)。這一區別使二者在傳遞信息的過程中使用不同的信息,從而以不同的方式來完成其任務。

tcp , c++ , Linux , Android , 網絡

輕口味 - Rokid Glasses 移動端控制應用開發初體驗-助力業務創新

前言 在AI時代,一方面大家在提升模型這個”大腦“的能力,另一方面也在不斷地給”大腦“配備各種”外設“,錄音筆和AI眼鏡就是很好的切入點。而AI眼鏡因為與人眼、人耳處在同一個角度,可以以更自然真實的角度去採集音頻與視頻,"第一視角拍攝"和"長在眼前的AI助手"成為大家採購智能設備的首選。本文介紹AI眼鏡的佼佼者Rokid Glasses的產品、能力,以及如何從零開發一個Rokid Glasses配

智能硬件 , Android

輕口味 - webrtc信令交互流程

無論是使用前端JS的WebRTC API接口,還是在WebRTC源碼上構建自己的對聊框架,都需要遵循以下執行流程: 上述序列中,WebRTC並不提供Stun服務器和Signal服務器,服務器端需要自己實現。Stun服務器可以用google提供的實現stun協議的測試服務器(stun:stun.l.google.com:19302),Signal服務器則完全需要自己實現了,它需要在Clien

音視頻 , webrtc

輕口味 - Webrtc線程模型

webrtc的base的 thread,是我見過的封裝最帥的c++線程庫,根據比qt的還好用,發個例子給你 using namespace webrtc; using namespace rtc; //std::cout"Thread::Current():" Thread::Current()-GetId(); //Thread::Current()-Start()

音視頻 , Android , webrtc

輕口味 - webrtc模塊管理

對於實時音視頻應用來講,媒體數據從採集到渲染,在數據流水線上依次完成一系列處理。流水線由不同的功能模塊組成,彼此分工協作:數據採集模塊負責從攝像頭/麥克風採集音視頻數據,編解碼模塊負責對數據進行編解碼,RTP模塊負責數據打包和解包。數據流水線上的數據處理速度是影響應用實時性的最重要因素。與此同時,從服務質量保證角度講,應用需要知道數據流水線的運行狀態,如視頻採集模塊的實時幀率、當前網絡的實時速率、

音視頻 , webrtc

輕口味 - webrtc sdp協議介紹

Session Description Protocol(會話描述協議) RFC定義SDP的協議有兩個: RFC3264: An Offer/Answer Model with the session Description Protocol(SDP),用來概述一個請求/響應模型 RFC2327: SDP:Session Description Protocol,描述數據格式. 1.RFC

音視頻 , webrtc

輕口味 - webrtc Android源碼分析一

nativeCreateVideoSource 初始化 PeerConnectionFactory(pc/peerconnectionfactory) 創建PeerConnection方法中: rtc::scoped_refptrPeerConnectionInterface PeerConnectionFactory::CreatePeerConnection( const PeerCo

音視頻 , Android , webrtc

輕口味 - webrtc 音頻設備操作之opensl與jni

webrtc 音頻設備操作之opensl與jni 本節主要分享視頻通話中android和ios上操作音頻設備的方式,如調解音量大小,啓用揚聲器 處理音頻設備代碼目錄:src/modules/audio_device/ ls modules/audio_device/ BUILD.gn audio_device_buffer.h au

音視頻 , webrtc

輕口味 - webrtc代碼管理工具gclient入門

google的chromium項目是用gclient來管理源碼的checkout, update等。 gclient是google專門為這種多源項目編寫的腳本,它可以將多個源碼管理系統中的代碼放在一起管理。甚至包括將Git和svn代碼放在一起。 webrtc也是使用gclient管理代碼. gclient的sync,update等命令密切相關的兩類文件.gclient和DEPS。 .gclient

音視頻 , webrtc

輕口味 - 基於OpenCV+QT開發超實用的視頻編輯器

1. 背景 在生活工作當中,很多時候我們都有裁剪、水印、旋轉等視頻編輯的需求。作為一個程序員,這些需求我們常常用ffmpeg命令工具搞定。但是ffmpeg命令工具可見性和可操作性差。 現在隨着深度學習和人工智能熱門,大量的技術涌現,但opencv作為老牌的圖像視頻庫,一直是在大量的生產環境(包括嵌入式設備)中應用,不管你用什麼深度學習的平台,opencv都是作為圖像圖像領域及佳的選擇,可以很方便的

音視頻 , qt , opencv