当前位置: 首页 > news >正文

模板网站建设公司企业seo优化服务

模板网站建设公司,企业seo优化服务,做网站与不做网站的区别,各大网站名称更多内容:XiaoJ的知识星球 SDL2:Android-arm64端编译使用 2. SDL2:Android-arm64端编译使用2.1 安装和配置NDK2.2 下载编译SDL22.3 SDL2使用示例:Audio2.4 Android设备运行 2. SDL2:Android-arm64端编译使用 在Linux系…

更多内容:XiaoJ的知识星球


SDL2:Android-arm64端编译使用

    • 2. SDL2:Android-arm64端编译使用
      • 2.1 安装和配置NDK
      • 2.2 下载编译SDL2
      • 2.3 SDL2使用示例:Audio
      • 2.4 Android设备运行


2. SDL2:Android-arm64端编译使用

在Linux系统上使用Android NDK编译和使用arm64下的SDL2,可以按照以下步骤进行:

2.1 安装和配置NDK

确保已经安装Android NDK r26c。

设置${NDK}环境变量。

2.2 下载编译SDL2

wget https://www.libsdl.org/release/SDL2-2.28.4.tar.gz
tar -zxvf SDL2-2.28.4.tar.gzcd SDL2-2.28.4
mkdir build_arm64
cd build_arm64cmake -DCMAKE_TOOLCHAIN_FILE=$NDK/build/cmake/android.toolchain.cmake \-DANDROID_ABI=arm64-v8a \-DANDROID_PLATFORM=android-26 \-DCMAKE_INSTALL_PREFIX=$PWD/_install \-DSDL_STATIC=OFF \-DSDL_SHARED=ON \..make
make install

确定安装目录:

sudo find ./ -type f -name "SDL2Config.cmake"
sudo find ./ -type f -name "sdl2-config.cmake"

2.3 SDL2使用示例:Audio

(1)main.cpp示例:

  • 使用SDL2从音频设备获取输入数据,并使用printf打印相关信息。
#include <SDL2/SDL.h>
#include <stdio.h>// 音频回调函数
void audioCallback(void* userdata, Uint8* stream, int len) {// 这里可以处理音频数据,例如保存到文件或进行实时处理// 本示例中不进行处理,仅打印信息printf("Captured %d bytes of audio data.\n", len);
}int main(int argc, char* argv[]) {// 初始化SDL音频子系统if (SDL_Init(SDL_INIT_AUDIO) < 0) {printf("SDL could not initialize! SDL_Error: %s\n", SDL_GetError());return -1;}// 定义音频规格SDL_AudioSpec want, have;SDL_zero(want);want.freq = 44100;  // 采样率want.format = AUDIO_S16SYS;  // 采样格式want.channels = 2;  // 双声道want.samples = 1024;  // 缓冲区大小want.callback = audioCallback;  // 指定音频回调函数want.userdata = nullptr;// 打开音频设备SDL_AudioDeviceID deviceId = SDL_OpenAudioDevice(nullptr, 1, &want, &have, 0);if (deviceId == 0) {printf("SDL could not open audio device! SDL_Error: %s\n", SDL_GetError());SDL_Quit();return -1;}// 检查音频规格是否符合预期if (have.freq != want.freq || have.format != want.format || have.channels != want.channels) {printf("Audio specification mismatch.\n");SDL_CloseAudioDevice(deviceId);SDL_Quit();return -1;}// 播放音频SDL_PauseAudioDevice(deviceId, 0);// 持续捕获音频数据printf("Capturing audio... Press Enter to stop.\n");getchar();// 停止音频捕获SDL_PauseAudioDevice(deviceId, 1);// 关闭音频设备SDL_CloseAudioDevice(deviceId);// 退出SDLSDL_Quit();return 0;
}

(2)编译

使用Makefile+NDK交叉编译:

NDK_PATH := /home/android-ndk-r26c
CXX := $(NDK_PATH)/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++# SDL2库路径
SDL2_DIR := /home/SDL2-2.28.4/build_arm64/_install/
SDL2_INCLUDE := \-I${SDL2_DIR}/include \-I${SDL2_DIR}/include/SDL2
SDL2_LIB := ${SDL2_DIR}/lib/# 编译选项
CFLAGS = -g -O3 -fPIC -std=gnu++20 --target=aarch64-none-linux-android28
LFLAGS = -g -O3 -fPIC -std=gnu++20 --target=aarch64-none-linux-android28 -Wl,--gc-sections -L$(SDL2_LIB) -lSDL2 -llog -landroid -lGLESv1_CM -lEGL -lOpenSLES -lGLESv2 -lstdc++ -lm -ldl -lc -static-libstdc++# 目标可执行文件
TARGET := audio_capture
$(TARGET):$(CXX) $(CFLAGS) $(SDL2_INCLUDE) -o main.cpp.o -c main.cpp$(CXX) $(CFLAGS) -o $(TARGET) main.cpp.o $(LFLAGS)
clean:rm -f *.o $(TARGET)
.PHONY: all clean

生成audio_capture可执行文件,执行编译:make

2.4 Android设备运行

# 将可执行文件传输到Android设备:
adb push audio_capture /data/local/tmp/# 在Android设备上运行
cd /data/local/tmp/
chmod 755 audio_capture
./audio_capture

.


声明:资源可能存在第三方来源,若有侵权请联系删除!

http://www.zhongyajixie.com/news/45043.html

相关文章:

  • 门户网站有哪些广告公司职位
  • 巴彦淖尔市网站制作seo排名赚app靠谱吗
  • 互联网网站建设制作百度发广告怎么发
  • 手机上怎么做自己卖菜的网站市场策划方案
  • 为什么要给企业建设网站4p 4c 4r营销理论区别
  • c 网站开发数据库品牌建设的五个要素
  • 网页设计教程网页设计培训seo图片优化
  • 哪家做网站性价比高百度推广后台登录页面
  • 调试网站解析域名影响搜索引擎营销的简称是
  • 济南专业网站设计软文营销的特点
  • 微信公众号功能模块网站怎么seo关键词排名优化推广
  • 建立动态网站的作用百度竞价开户流程
  • 房地产销售政策google seo 优化招聘
  • 建设企业网站需要什么seo优化啥意思
  • 华为云上面可以代做网站吗推广关键词优化公司
  • 合肥网站推广 公司百度建立自己的网站
  • 网站如何做即时聊天西安百度快照优化
  • 电商网站设计思路西安优化外
  • 网页设计收获及心得体会株洲seo优化报价
  • 二月网站建设南宁首页优化排名
  • 宝鸡品牌网站建设黄页推广引流
  • 网站建设案例展示seo搜索优化软件
  • 网站域名备案注销深圳网站制作公司
  • 拨号地址怎么做网站高端网站建设哪家便宜
  • 邢台网站建设行情网络营销的现状及问题
  • 将网站保存怎么做百度学术官网首页
  • 什么网站可以做直播5118站长工具
  • 企业网站包含的内容google推广教程
  • 网站页面风格分类淘宝seo 优化软件
  • 汉中专业做网站友情链接交换统计表