求教
c4droid吧
全部回复
仅看楼主
level 6
skyme⛅ 楼主
c4dr0id怎么播放本地视频啊?
2016年05月09日 12点05分 1
level 12
进步神速[真棒]
2016年05月09日 13点05分 2
SDL的话。好像有个可以播放mpeg2格式的
2016年05月09日 13点05分
有示例代码沒?
2016年05月09日 13点05分
@skyme⛅ 有,帖吧里搜
2016年05月09日 13点05分
贴好多,你帮我一下吧
2016年05月09日 13点05分
level 12
/**
SDL2+SMPEG音视频播放测试代码
单击屏幕暂停或播放
上下滑动控制音量
左右滑动控制进度 <不能回跳╮(╯▽╰)╭,跳跃后时间不正常>
ps.因SMPEG自身的原因只能播放mpeg1编码格式的视频或音频
ps2.mp3是mpeg1格式
by 毛玉
**/
#include <SDL2/SDL.h>
#include <SDL2/SDL_ttf.h>
#include <smpeg2/smpeg.h>
int w = 0, h = 0;
char temp[127] = { 0 };
char *file = "/storage/sdcard0/C/yuji_she.mpg";
//char *file="/sdcard/【MMD】みすちーのうそつき【HD】 - ニコニコ动画GINZA.mpg";
//char *file="/sdcard/音乐/Adios Eden.mp3";
typedef enum{
STOP=0,
PLAYING,
PAUSE
}state;
typedef enum
{
NUL=0,
CHANGEVOLUME,
CHANGEPLAYTIME
}eventtype;
SDL_Window *win = NULL;
SDL_Renderer *ren = NULL;
SDL_Texture *frameimage = NULL;
SDL_mutex *mutex=NULL;
SDL_Rect rect = { 0, 0, 0, 0 };
SMPEG_Frame *frame = NULL;
int current_frame = 0;
int offset = 0;
int current_state=0;
int current_time=0;
int current_volume=50;
int changing_volume=0;
float changing_time=0;
int current_event=0;
//文字转贴图
SDL_Texture *makeText(SDL_Renderer * ren, const char *text, int size, int rgba)
{
SDL_Surface *temp = NULL;
SDL_Texture *finish = NULL;
TTF_Font *font=NULL;
SDL_Color text_color = { (rgba&0xff000000)>>23, (rgba&0x00ff0000)>>15, (rgba&0x0000ff00)>>7, rgba&0x000000ff };
TTF_Init();
font = TTF_OpenFont("/system/fonts/DroidSansFallback.ttf", size);//打开字体
temp = TTF_RenderUTF8_Solid(font, text, text_color);//渲染文本
finish = SDL_CreateTextureFromSurface(ren, temp);
SDL_FreeSurface(temp);
TTF_CloseFont(font);//关闭字体
TTF_Quit();
return finish;
}
//显示文字
void nshowText(SDL_Renderer * ren, const char *msg, int size,int x,int y,int rgba)
{
SDL_Rect tr = { 0, 0, 0, 0 };
SDL_Texture *t = makeText(ren, msg, size, rgba);
SDL_QueryTexture(t, NULL, NULL, &tr.w, &tr.h);
if(x==-1)
tr.x = (w - tr.w) / 2;
else
tr.x=x;
if(y==-1)
tr.y = (h - tr.h) / 2;
else
tr.y=y;
SDL_RenderCopy(ren, t, NULL, &tr);
SDL_DestroyTexture(t);
}
//显示文字到屏幕中间(在渲染过程中使用会闪屏)
void showText(SDL_Renderer *ren,const char *msg,int size)
{
SDL_RenderClear(ren);
nshowText(ren,msg,size,-1,-1,0xffffffff);
SDL_RenderPresent(ren);
}
//判断文件是否存在
int isFile(const char *file)
{
int was = 0;
2016年05月09日 13点05分 3
level 12
nshowText(ren,temp,60,-1,-1,0xff00ffff);
}
if(current_event==CHANGEPLAYTIME)
{
sprintf(temp,"时间:%.2f",changing_time);
nshowText(ren,temp,60,-1,-1,0xff00ffff);
}
SDL_RenderPresent(ren);
SDL_Delay(16);
}
SMPEG_stop(SV);//停止播放
SMPEG_delete(SV);//释放视频所占内存
SDL_CloseAudio();
exit(0);
}
2016年05月09日 13点05分 6
这个东西似乎不能播放纯音频?
2016年11月14日 21点11分
打开纯音频以后输出到文件的has_audio是null..
2016年11月14日 21点11分
@strongrex2001 播放mp3?可以看看傻傻痴痴的帖子
2016年11月14日 23点11分
@简单aaaaaaa 那个我已经在用了,但如果是要从定点开始播放呢?
2016年11月16日 22点11分
level 6
skyme⛅ 楼主
那个播放路径在哪?
2016年05月09日 13点05分 7
level 8
水经验
2016年05月10日 12点05分 8
level 12
做出来的话,全吧+卫星吧+sdl吧都会感谢你的。。。。。。。
2016年05月26日 14点05分 9
level 1
【一品素材】也有c4droid资料,不错哦不错哦不错哦不错哦不错哦
2016年11月14日 23点11分 11
1