`
wang_peng1
  • 浏览: 3905359 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

大图片在屏幕中间的缩放以及如何捕获耳机声音流的捕获

 
阅读更多
protected void zoomTo(float scale, float centerX, float centerY) { 
    if (scale > mMaxZoom) { 
        scale = mMaxZoom; 
    } 
 
    float oldScale = getScale(); 
    float deltaScale = scale / oldScale; 
 
    mSuppMatrix.postScale(deltaScale, deltaScale, centerX, centerY); 
    setImageMatrix(getImageViewMatrix()); 
    center(true, true); 
} 

 

protected void center(boolean horizontal, boolean vertical) { 
    if (mBitmapDisplayed.getBitmap() == null) { 
        return; 
    } 
 
    Matrix m = getImageViewMatrix(); 
 
    RectF rect = new RectF(0, 0, 
            mBitmapDisplayed.getBitmap().getWidth(), 
            mBitmapDisplayed.getBitmap().getHeight()); 
 
    m.mapRect(rect); 
 
    float height = rect.height(); 
    float width  = rect.width(); 
 
    float deltaX = 0, deltaY = 0; 
 
    if (vertical) { 
        int viewHeight = getHeight(); 
        if (height < viewHeight) { 
            deltaY = (viewHeight - height) / 2 - rect.top; 
        } else if (rect.top > 0) { 
            deltaY = -rect.top; 
        } else if (rect.bottom < viewHeight) { 
            deltaY = getHeight() - rect.bottom; 
        } 
    } 
 
    if (horizontal) { 
        int viewWidth = getWidth(); 
        if (width < viewWidth) { 
            deltaX = (viewWidth - width) / 2 - rect.left; 
        } else if (rect.left > 0) { 
            deltaX = -rect.left; 
        } else if (rect.right < viewWidth) { 
            deltaX = viewWidth - rect.right; 
        } 
    } 
 
    postTranslate(deltaX, deltaY); 
    setImageMatrix(getImageViewMatrix()); 
} 

 捕获耳机声音流

MediaRecorder recorder = new MediaRecorder(); 
recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_DOWNLINK); 

 

可以参看

 MediaRecorder.AudioSource   VOICE_DOWNLINK source.

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics