<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[向右走向左走 —— 小时了了的技术博客]]></title><description><![CDATA[码农一名]]></description><link>https://blog.youkuaiyun.com/xrunning</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xrunning]]></copyright><item><title><![CDATA[鸿蒙NEXT音视频开发：使用 Video 组件实现最简单的视频播放器]]></title><link>https://blog.youkuaiyun.com/xrunning/article/details/151296679</link><guid>https://blog.youkuaiyun.com/xrunning/article/details/151296679</guid><author>xrunning</author><pubDate>Sun, 07 Sep 2025 23:11:15 +0800</pubDate><description><![CDATA[本文介绍了如何在HarmonyOS中使用ArcUI框架的Video组件实现视频播放功能。首先通过File Picker选择本地视频文件，然后使用Video组件进行播放控制。文章详细讲解了自动播放的实现方法（通过VideoController和onPrepared事件）以及播放完成后的处理逻辑（onFinish事件）。该方案支持本地视频文件播放，并提供了基本的播放控制功能，包括自动播放、播放完成自动返回选择界面等特性。实现过程涉及UIAbilityContext获取、文件选择器使用等关键HarmonyOS开发]]></description><category></category></item><item><title><![CDATA[SDL3 入门（6）：和外部 D3D 交互]]></title><link>https://blog.youkuaiyun.com/xrunning/article/details/150580368</link><guid>https://blog.youkuaiyun.com/xrunning/article/details/150580368</guid><author>xrunning</author><pubDate>Thu, 21 Aug 2025 12:38:28 +0800</pubDate><description><![CDATA[本文介绍了如何在SDL3中获取D3D设备并渲染D3D纹理。作者展示了如何通过SDL_CreateRenderer指定D3D11引擎，并使用SDL_GetRendererProperties获取D3D设备接口。重点讲解了如何创建D3D11纹理并填充数据，然后通过SDL_CreateTextureWithProperties将D3D纹理包装为SDL纹理进行渲染。这种方法实现了D3D与SDL的无缝结合，弥补了SDL2的不足。虽然目前无法自定义D3D设备参数，但SDL3的这一特性标志着图形编程的重要进步。]]></description><category></category></item><item><title><![CDATA[SDL3 入门（5）：纹理渲染]]></title><link>https://blog.youkuaiyun.com/xrunning/article/details/150579597</link><guid>https://blog.youkuaiyun.com/xrunning/article/details/150579597</guid><author>xrunning</author><pubDate>Thu, 21 Aug 2025 11:52:57 +0800</pubDate><description><![CDATA[SDL提供了三种创建纹理的API：SDL_CreateTexture适用于简单场景，SDL_CreateTextureFromSurface适合从已有图像数据创建，而功能最强大的SDL_CreateTextureWithProperties可设置多种属性。本文演示了如何创建一个2x2像素的ARGB8888格式纹理，并比较了不同缩放模式（临近点插值与双线性插值）的渲染效果差异。同时测试了不同图形引擎对纹理格式的支持情况，结果显示SDL_PIXELFORMAT_ARGB8888兼容性最佳，适用于跨平台开发。]]></description><category></category></item><item><title><![CDATA[SDL3 入门（4）：选择图形引擎]]></title><link>https://blog.youkuaiyun.com/xrunning/article/details/144472982</link><guid>https://blog.youkuaiyun.com/xrunning/article/details/144472982</guid><author>xrunning</author><pubDate>Sat, 14 Dec 2024 17:06:36 +0800</pubDate><description><![CDATA[SDL2 创建渲染器时只能指定使用软件渲染还是硬件加速，无法选择使用哪种图形引擎实现硬件加速。SDL3 对此做了优化，可以在创建渲染器时指定也就是图形引擎，比如在 Windows 平台下可以指定使用 D3D11 也可以指定使用 OpenGL 或者 Vulkan。]]></description><category></category></item><item><title><![CDATA[SDL3 入门（3）：三角形]]></title><link>https://blog.youkuaiyun.com/xrunning/article/details/144472854</link><guid>https://blog.youkuaiyun.com/xrunning/article/details/144472854</guid><author>xrunning</author><pubDate>Sat, 14 Dec 2024 16:57:53 +0800</pubDate><description><![CDATA[使用 SDL3 绘制运动的三角形]]></description><category></category></item><item><title><![CDATA[SDL3 入门（2）：第一个窗口]]></title><link>https://blog.youkuaiyun.com/xrunning/article/details/144313574</link><guid>https://blog.youkuaiyun.com/xrunning/article/details/144313574</guid><author>xrunning</author><pubDate>Sat, 07 Dec 2024 17:36:57 +0800</pubDate><description><![CDATA[在上一篇文章中我们已经利用 SDL 的日志接口实现了简单的字符串输出，实际上是解决了开发环境搭建问题，接下来我们将在已有代码的基础上继续开发，实现第一个窗口的创建和背景色绘制。]]></description><category></category></item><item><title><![CDATA[SDL3 入门（1）：Hello, SDL3!]]></title><link>https://blog.youkuaiyun.com/xrunning/article/details/144301322</link><guid>https://blog.youkuaiyun.com/xrunning/article/details/144301322</guid><author>xrunning</author><pubDate>Fri, 06 Dec 2024 22:11:07 +0800</pubDate><description><![CDATA[SDL(Simple DirectMedia Layer) 是一个开源跨平台开发库，设计目标是提供对音频、键盘、鼠标、操纵杆和图形硬件的低级访问，主要用于视频渲染和游戏开发。SDL3 是最新版本。
本篇主要介绍 SDL3 开发环境搭建，第一个程序]]></description><category></category></item><item><title><![CDATA[在 Rust 中使用 FFmpeg (3)：动态链接和静态链接]]></title><link>https://blog.youkuaiyun.com/xrunning/article/details/144176602</link><guid>https://blog.youkuaiyun.com/xrunning/article/details/144176602</guid><author>xrunning</author><pubDate>Sun, 01 Dec 2024 22:57:36 +0800</pubDate><description><![CDATA[在第一篇文章中我们通过（对应 FFmpeg 的）这样一个最简单的 API 调用验证了在 Rust 中使用 FFmpeg 的可行性。代码已经放到 GitHub 可以在找到，程序已改名为hello这个命令运行的很好，但是在 Windows 系统下如果我们直接双击运行编译出来的 hello.exe 的话，大概率会弹出如下的报错：只能说理论是理论工程是工程，理论上看起来简单的东西在工程实践上可能有一系列的坑等着你踩，本章要探讨的链接库问题就是工程中最常见也必须首先解决的一个坑。]]></description><category></category></item><item><title><![CDATA[在 Rust 中使用 FFmpeg (2)：视频解码测试]]></title><link>https://blog.youkuaiyun.com/xrunning/article/details/144166598</link><guid>https://blog.youkuaiyun.com/xrunning/article/details/144166598</guid><author>xrunning</author><pubDate>Sun, 01 Dec 2024 11:01:43 +0800</pubDate><description><![CDATA[测试在 Rust 中使用 ffmpeg 实现视频解码]]></description><category></category></item><item><title><![CDATA[在 Rust 中使用 FFmpeg (1)：环境搭建]]></title><link>https://blog.youkuaiyun.com/xrunning/article/details/144160307</link><guid>https://blog.youkuaiyun.com/xrunning/article/details/144160307</guid><author>xrunning</author><pubDate>Sat, 30 Nov 2024 20:36:06 +0800</pubDate><description><![CDATA[写播放器最快的方式是用各个操作系统平台提供的多媒体组件，一般十几行几十行代码就能搞出一个勉强可用的播放器来，但是要做更深入更强大的功能就难了，如果要做跨平台那更不可能，这时候就需要用到 FFmpeg 了，Rust 也不例外。接下来就让我们的自虐之路从 FFmpeg 开始。]]></description><category></category></item></channel></rss>