毛小线~
码龄10年
求更新 关注
提问 私信
  • 博客:49,099
    问答:4,133
    53,232
    总访问量
  • 9
    原创
  • 15
    粉丝
  • 34
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:奥兰群岛
加入CSDN时间: 2016-07-13
博客简介:

momo1994的博客

查看详细资料
个人成就
  • 获得42次点赞
  • 内容获得19次评论
  • 获得105次收藏
  • 代码片获得199次分享
  • 博客总排名181,441名
  • 原力等级
    原力等级
    2
    原力分
    196
    本月获得
    0
创作历程
  • 1篇
    2025年
  • 2篇
    2023年
  • 3篇
    2022年
  • 3篇
    2021年
成就勋章
TA的专栏
  • python
    3篇
  • CNTK
  • tenserflow
  • 深度学习与神经网络
  • C#

TA关注的专栏 2

TA关注的收藏夹 0

TA关注的社区 0

TA参与的活动 0

兴趣领域 设置
  • 大数据
    hadoopspark
  • 人工智能
    机器学习神经网络数据分析
创作活动更多

「谁说嵌入式只是调包和焊板子?」—— 2026嵌入式全栈技术征锋令

谁说嵌入式只会“Ctrl+C 调包”和“拿电烙铁焊板子”?2026嵌入式全栈技术征锋令正式启幕! 本次活动专为硬核硬件/软件开发者打造,无论你是刚玩转裸机外设的萌新,还是精通RTOS调度、死磕底层驱动的行业老手,亦或是执掌系统架构的大神,这里都是你证明实力的舞台! 拒绝表面功夫,每一行代码,都有撬动硬件的力量!晒出你的硬核工程实战,为嵌入式开发者的全栈硬实力正名!

212人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

Windows11 安装WSL教程

3、在Microsoft Store 安装想用的Ubuntu版本。4、在终端新开一个窗口,选择刚刚安装的系统。1、确认系统版本为专业版。5、将wsl移动到D盘。
原创
博文更新于 2025.09.18 ·
369 阅读 ·
4 点赞 ·
0 评论 ·
2 收藏

Python爬虫:爬取ts碎片视频+验证码登录

目标:爬取自己账号中购买的课程视频。一、实现登录账号这里采用的是手动输入验证码的方式,有能力的盆友也可以通过图像识别的方式自动填写验证码。登录后,采用session保持登录。1.获取验证码地址 第一步:首先查看验证码对应的代码,可以从图中看到验证码图片的地址是:https://per.enetedu.com/Common/CreateIm...
原创
博文更新于 2024.06.17 ·
2127 阅读 ·
4 点赞 ·
2 评论 ·
12 收藏

RectangleBinPack源码

发布资源 2023.09.11 ·
zip

2D装箱问题资料

github仓库中包含算法研究的pdf,为方便下载源码已上传到CSDN资源库中。
原创
博文更新于 2023.09.11 ·
433 阅读 ·
2 点赞 ·
0 评论 ·
1 收藏

南大PA0-NEMU编译踩坑记录

希望通过此课程对计算机的工作原理有更深入的了解,同时了解一个简单模拟器是如何搭建的。以下是对模拟器NEMU编译过程中,遇到问题的记录。
原创
博文更新于 2023.06.13 ·
4103 阅读 ·
2 点赞 ·
5 评论 ·
12 收藏

华为Mindspore akg运行环境安装记录

华为Mindspore akg运行环境安装
原创
博文更新于 2022.10.09 ·
639 阅读 ·
1 点赞 ·
1 评论 ·
1 收藏

Xcelium报错:sv_seghandler - trapno -1 addr(0x434c3b38)

发布问题 2022.05.09 ·
0 回答

Docker容器与本地文件相互拷贝

Docker容器中的文件可以与本地进行共享。1、Docker容器中的文件拷贝至本地#格式#docker cp CONTAINER ID:容器目录 本地目录#示例docker ps -a #查看本地容器ID sudo docker cp 52ea915e6527:/aha /home/aha22、本地文件拷贝至容器#格式#docker cp 本地路径 CONTAINER ID:容器目录#示例docker cp license.dat 52ea915e6527:/home
原创
博文更新于 2022.05.09 ·
12550 阅读 ·
5 点赞 ·
1 评论 ·
23 收藏

Docker镜像导出、删除、导入以及问题解决

需求:将windows中的docker镜像共享到Linux虚拟机中。先将Windows系统中的镜像导出,再通过共享文件的方式在Linux系统中导入镜像。为了今后查询方便,在此记录过程。1、镜像导出命令如下(Windows系统cmd):#格式#docker save -o targetpath imagename#示例docker save -o D:/aha-docekr.tar stanfordaha/garnet:latest导出结果:2、镜像导入命令如下(.
原创
博文更新于 2022.05.05 ·
1173 阅读 ·
2 点赞 ·
0 评论 ·
2 收藏

PyQt5安装失败问题解决

Python版本:3.5问题描述:在使用pip install PyQt5命令安装Qt时出现了以下错误
原创
博文更新于 2021.07.31 ·
10974 阅读 ·
13 点赞 ·
6 评论 ·
17 收藏

解决Thonny编辑器无法加载第三方库问题

Thonny作为Python编辑器有着轻便、简洁的优点。但是在使用过程中,会出现第三方库没有加载到编辑器中的问题。解决方法如下:Step1:在Thonny编辑器的菜单选项里,选择工具→设置。Step2:在弹出的设置中,发现Thonny并没有使用我们自己安装的Python环境,而是Thonny自带的默认解释器。Step3:选择“可选的python3解释器或虚拟环境”,然后找到自己安装的python环境,选中python.exe点击打开。再点击确认,设置即可生效。测试:seleniu
原创
博文更新于 2021.06.23 ·
16731 阅读 ·
9 点赞 ·
4 评论 ·
34 收藏

OpenAL实现实时录音并保存到本地

发布问题 2017.06.21 ·
1 回答

OpenAL实现实时录音并保存到本地

答:

以下是照搬别人的代码。。具体链接找不到了。可以实现录音并回放

#include "stdafx.h"
#include
#include //添加openal的 header files(头文件)
#include
#include

using std::list;
using namespace std;

#define FREQ 22050 //定义采样率 Sample Rate
#define CAP_SIZE 2048 //一次捕获音频的长度

int main(int argC,char* argV[])
{

//initial
list bufferQueue; // A quick and dirty queue of buffer objects
ALenum errorCode = 0;
ALuint helloBuffer[16], helloSource[1];

ALCdevice* audioDevice = alcOpenDevice(NULL); //请求默认的音频设备
errorCode = alcGetError(audioDevice);
ALCcontext* audioContext = alcCreateContext(audioDevice, NULL); //创建上下文
alcMakeContextCurrent(audioContext);
errorCode = alcGetError(audioDevice);
// Request the default capture device with a half-second buffer
ALCdevice* inputDevice = alcCaptureOpenDevice(NULL, FREQ, AL_FORMAT_MONO16, FREQ / 2);
errorCode = alcGetError(inputDevice);
alcCaptureStart(inputDevice); // Begin capturing to where?
errorCode = alcGetError(inputDevice);

alGenBuffers(16, &helloBuffer[0]); // Create some buffer-objects
errorCode = alGetError();

// Queue our buffers onto an STL list
for (int ii = 0; ii<16; ++ii) {
    bufferQueue.push_back(helloBuffer[ii]); //将buffer放入队尾
}

alGenSources(1, &helloSource[0]); // Create a sound source
errorCode = alGetError();

short buffer[FREQ * 2]; // A buffer to hold captured audio
ALCint samplesIn = 0;  // How many samples are captured
ALint availBuffers = 0; // Buffers to be recovered -- 这里保存
ALuint myBuff; // The buffer we're using
ALuint buffHolder[16]; // An array to hold catch the unqueued buffers
bool done = false;

//play or cap?
while (!done) { // Main loop
                // Poll for recoverable buffers
    alGetSourcei(helloSource[0], AL_BUFFERS_PROCESSED, &availBuffers);
    if (availBuffers>0) {
        alSourceUnqueueBuffers(helloSource[0], availBuffers, buffHolder);
        for (int ii = 0; ii<availBuffers; ++ii) {
            // Push the recovered buffers back on the queue
            bufferQueue.push_back(buffHolder[ii]);
        }
    }
    // Poll for captured audio
    alcGetIntegerv(inputDevice, ALC_CAPTURE_SAMPLES, 1, &samplesIn); //获取可用的样本数
    if (samplesIn>CAP_SIZE) {
        // Grab the sound
        alcCaptureSamples(inputDevice, buffer, CAP_SIZE);

        //***** Process/filter captured data here *****//
        //for (int ii=0;ii<CAP_SIZE;++ii) {
        //  buffer[ii]*=0.1; // Make it quieter
        //}

        // Stuff the captured data in a buffer-object
        if (!bufferQueue.empty()) { // We just drop the data if no buffers are available
            myBuff = bufferQueue.front(); bufferQueue.pop_front();
            alBufferData(myBuff, AL_FORMAT_MONO16, buffer, CAP_SIZE * sizeof(short), FREQ);

            // Queue the buffer
            alSourceQueueBuffers(helloSource[0], 1, &myBuff);

            // Restart the source if needed
            // (if we take too long and the queue dries up,
            //  the source stops playing).
            ALint sState = 0;
            alGetSourcei(helloSource[0], AL_SOURCE_STATE, &sState);
            if (sState != AL_PLAYING) {
                alSourcePlay(helloSource[0]);
            }
        }
    }
}

// Stop capture
alcCaptureStop(inputDevice);
alcCaptureCloseDevice(inputDevice);

// Stop the sources
alSourceStopv(1, &helloSource[0]);
for (int ii = 0; ii<1; ++ii) {
    alSourcei(helloSource[ii], AL_BUFFER, 0);
}
// Clean-up 
alDeleteSources(1, &helloSource[0]);
alDeleteBuffers(16, &helloBuffer[0]);
errorCode = alGetError();
alcMakeContextCurrent(NULL);
errorCode = alGetError();
alcDestroyContext(audioContext);
alcCloseDevice(audioDevice);

return 0;

}

回答问题 2017.06.21