unity 语音开发中遇到的一些问题
2015-12-10 20:49
507 查看
最近被迫做一些前端开发工作,遇到几个问题,google上甚至难找到完整方案,在此记录下。
1.在IOS调Microphone.Start(),报错问题(程序卡死),见描述: http://answers.unity3d.com/questions/711211/crash-on-microphonestart-in-audiomanagergetrecordp.html
解决:首先确实要获取权限,然后还要在发布的时候勾上 "Prepared for ios recording"
2.opencore-arm 这个库的编译,之前从来没做过交叉编译,也算是自己google+探索了下,一般andriod上需要支持arm架构和x86(模拟器)架构的库。
主要思想就是定义make里的宏,使得CC LD等工具指向特定平台的,然后就是sysroot也要对应设过去。
脚本如下:
x86:
!/bin/sh
BIN="/opt/ndk/android-ndk-r9d/toolchains/x86-4.6/prebuilt/linux-x86_64/bin"
export SYSROOT="$NDK_ROOT/platforms/android-14/arch-x86"
export CC="$BIN/i686-linux-android-gcc --sysroot=$SYSROOT"
export CXX="$BIN/i686-linux-android-g++ --sysroot=$SYSROOT"
export AR="$BIN/i686-linux-android-ar"
export LD="$BIN/i686-linux-android-ld"
export AS="$BIN/i686-linux-android-gcc"
echo $CXX
export CFLAGS=" --sysroot=$NDK_ROOT/platforms/android-14/arch-x86 "
export CXXFLAGS=" --sysroot=$NDK_ROOT/platforms/android-14/arch-x86 "
export LDFLAGS=" -L$NDK_ROOT/platforms/android-14/arch-x86/usr/lib -Wl,--fix-cortex-a8 "
./configure --enable-static --prefix=/opt/ndk/openlib/x86 --host=arm-linux
arm:
#!/bin/sh
export SYSROOT="$NDK_ROOT/platforms/android-14/arch-arm"
export CC="arm-linux-androideabi-gcc --sysroot=$SYSROOT"
export CXX="arm-linux-androideabi-g++ --sysroot=$SYSROOT"
export AR="arm-linux-androideabi-ar"
export LD="arm-linux-androideabi-ld"
export AS="arm-linux-androideabi-gcc"
echo $CXX
export CFLAGS=" --sysroot=$NDK_ROOT/platforms/android-14/arch-arm -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 "
export CXXFLAGS=" --sysroot=$NDK_ROOT/platforms/android-14/arch-arm -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 "
export LDFLAGS=" -L$NDK_ROOT/platforms/android-14/arch-arm/usr/lib -march=armv7-a -Wl,--fix-cortex-a8 "
./configure --enable-static --prefix=/opt/ndk/openlib --host=arm-linux-androideabi
1.在IOS调Microphone.Start(),报错问题(程序卡死),见描述: http://answers.unity3d.com/questions/711211/crash-on-microphonestart-in-audiomanagergetrecordp.html
解决:首先确实要获取权限,然后还要在发布的时候勾上 "Prepared for ios recording"
2.opencore-arm 这个库的编译,之前从来没做过交叉编译,也算是自己google+探索了下,一般andriod上需要支持arm架构和x86(模拟器)架构的库。
主要思想就是定义make里的宏,使得CC LD等工具指向特定平台的,然后就是sysroot也要对应设过去。
脚本如下:
x86:
!/bin/sh
BIN="/opt/ndk/android-ndk-r9d/toolchains/x86-4.6/prebuilt/linux-x86_64/bin"
export SYSROOT="$NDK_ROOT/platforms/android-14/arch-x86"
export CC="$BIN/i686-linux-android-gcc --sysroot=$SYSROOT"
export CXX="$BIN/i686-linux-android-g++ --sysroot=$SYSROOT"
export AR="$BIN/i686-linux-android-ar"
export LD="$BIN/i686-linux-android-ld"
export AS="$BIN/i686-linux-android-gcc"
echo $CXX
export CFLAGS=" --sysroot=$NDK_ROOT/platforms/android-14/arch-x86 "
export CXXFLAGS=" --sysroot=$NDK_ROOT/platforms/android-14/arch-x86 "
export LDFLAGS=" -L$NDK_ROOT/platforms/android-14/arch-x86/usr/lib -Wl,--fix-cortex-a8 "
./configure --enable-static --prefix=/opt/ndk/openlib/x86 --host=arm-linux
arm:
#!/bin/sh
export SYSROOT="$NDK_ROOT/platforms/android-14/arch-arm"
export CC="arm-linux-androideabi-gcc --sysroot=$SYSROOT"
export CXX="arm-linux-androideabi-g++ --sysroot=$SYSROOT"
export AR="arm-linux-androideabi-ar"
export LD="arm-linux-androideabi-ld"
export AS="arm-linux-androideabi-gcc"
echo $CXX
export CFLAGS=" --sysroot=$NDK_ROOT/platforms/android-14/arch-arm -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 "
export CXXFLAGS=" --sysroot=$NDK_ROOT/platforms/android-14/arch-arm -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 "
export LDFLAGS=" -L$NDK_ROOT/platforms/android-14/arch-arm/usr/lib -march=armv7-a -Wl,--fix-cortex-a8 "
./configure --enable-static --prefix=/opt/ndk/openlib --host=arm-linux-androideabi
相关文章推荐
- 解决Unity 中WWW加载 AssetBundle---中文路径
- KING_Unity学习之UGUI_Canvas渲染顺序以及层次关系总结
- Unity3D, WWW下载图片并保存
- Unity3D 游戏开发架构篇 ——性格一流的设计和持久性
- Unity3D中继承MonoBehaviour的类中会被引擎自动调用的方法
- Unity3D调用Android Java代码
- 安装最新Mysql community server
- Unity3D核心类型一览
- 关于unity 不规则按钮的制作
- unity ios从打包到审核到发布全过程
- unity5 设置场景的图片背景
- unity 延时调用方法
- Unity3D的射线检测Physics.Raycast
- unity3d图形用户界面组件
- Unity Socket
- Unity Editor Extensions – Menu Items私人定制
- 独立开发Unity3D需要用到的一些其他工具
- Unity5新的AssetBundle系统使用心得
- Unity AssetBundle爬坑手记
- unity 利用2d toolkit 实现按帧改变碰撞监测范围