日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > Android >内容正文

Android

android音频开发6,Android 音视频开发(一) : 通过三种方式绘制图片

發(fā)布時(shí)間:2025/3/20 Android 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android音频开发6,Android 音视频开发(一) : 通过三种方式绘制图片 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

想要逐步入門音視頻開發(fā),就需要一步步的去學(xué)習(xí)整理,并積累。本文是音視頻開發(fā)積累的第一篇。 對(duì)應(yīng)的要學(xué)習(xí)的內(nèi)容是:在 Android 平臺(tái)繪制一張圖片,使用至少 3 種不同的 API,ImageView,SurfaceView,自定義 View。

1. ImageView 繪制圖片

這個(gè)想必做過(guò)Android開發(fā)的都知道如何去繪制了。很簡(jiǎn)單:

Bitmap bitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory().getPath() + File.separator + "11.jpg");

imageView.setImageBitmap(bitmap);

很輕松,在界面上看到了我們繪制的圖片。

2. SurfaceView 繪制圖片

這個(gè)比 ImageView 繪制圖片稍微復(fù)雜一點(diǎn)點(diǎn):

SurfaceView surfaceView = (SurfaceView) findViewById(R.id.surface);

surfaceView.getHolder().addCallback(new SurfaceHolder.Callback() {

@Override

public void surfaceCreated(SurfaceHolder surfaceHolder) {

if (surfaceHolder == null) {

return;

}

Paint paint = new Paint();

paint.setAntiAlias(true);

paint.setStyle(Paint.Style.STROKE);

Bitmap bitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory().getPath() + File.separator + "11.jpg"); // 獲取bitmap

Canvas canvas = surfaceHolder.lockCanvas(); // 先鎖定當(dāng)前surfaceView的畫布

canvas.drawBitmap(bitmap, 0, 0, paint); //執(zhí)行繪制操作

surfaceHolder.unlockCanvasAndPost(canvas); // 解除鎖定并顯示在界面上

}

@Override

public void surfaceChanged(SurfaceHolder surfaceHolder, int i, int i1, int i2) {

}

@Override

public void surfaceDestroyed(SurfaceHolder surfaceHolder) {

}

});

3. 自定義 View 繪制圖片

這個(gè)有繪制自定義View經(jīng)驗(yàn)的可以很輕松的完成,本人也簡(jiǎn)單整理過(guò) Android 自定義 View 繪制 這一塊的知識(shí):

public class CustomView extends View {

Paint paint = new Paint();

Bitmap bitmap;

public CustomView(Context context) {

super(context);

paint.setAntiAlias(true);

paint.setStyle(Paint.Style.STROKE);

bitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory().getPath() + File.separator + "11.jpg"); // 獲取bitmap

}

@Override

protected void onDraw(Canvas canvas) {

super.onDraw(canvas);

// 不建議在onDraw做任何分配內(nèi)存的操作

if (bitmap != null) {

canvas.drawBitmap(bitmap, 0, 0, paint);

}

}

}

注:別忘記了權(quán)限,否則是不會(huì)展示成功的。

這三種方式都成功了展示出來(lái)了,我們可以繼續(xù)學(xué)習(xí)并整理后面的知識(shí)了—— Android 音視頻開發(fā)(二):使用 AudioRecord 采集音頻PCM并保存到文件

本文轉(zhuǎn)自:博客園 - 灰色飄零,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。

總結(jié)

以上是生活随笔為你收集整理的android音频开发6,Android 音视频开发(一) : 通过三种方式绘制图片的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。