SlideShare a Scribd company logo
Sound Module with OpenSL ES 
2014. 11. 24 
Version : 1.0.0 
made by 최대우 
R&D
2 
CONTENTS. 
1. OpenSL ES란? …………………………………….. 3 
2. Sound Player Native Method .……………………. 4 
a) createEngine …….………………………. 4 
b) createBufferQueueAudioPlayer ……...... 4 
c) createAssetAudioPlayer ……….……….. 5 
d) setPlayingAssetAudioPlayer ….………... 5 
e) shutdown ……………………………………… 5 
3. Sound Player Android Activity .……………………. 6 
4. Sound Player Layout ……………....…….………… 8 
5. Run on Android SmartPhone ..…………………….. 9
3 
1. 
OpenSL ES란 ? 
알고 보자 OpenSL ES ! 
Audio File 재생 및 녹음 기능 
Audio Effect 기능 
MIDI (Musical Instrument Digital Interface) 파일 재생 기능
4 
2. 
Sound Player Native Method 
a)void createEngine(JNIEnv*, jclass) - create engine - realize the engine - get the engine interface, which is needed in order to create other objects - create output mix, with environmental reverb specified as a non-required interface - realize the output mix b) void createBufferQueueAudioPlayer(JNIEnv*, jclass) - configure audio source - configure audio sink - create audio player - realize the player - get the play interface - get the buffer queue interface - register callback on the buffer queue - get the effect send interface - get the volume interface - set the player's state to playing
5 
2. 
c) jboolean createAssetAudioPlayer(JNIEnv*, jclass, jobject, jstring, filename) 
- use asset manager to open asset by filename 
- open asset as file descriptor 
- create audio player 
- realize the output mix, realize the player 
- get the play, seek, mute, volume interface 
- enable whole file looping 
d) void setPlayingAssetAudioPlayer(JNIEnv*, jclass, jboolean) 
- set play mode 
e) shutdown() 
- destroy all of audio player object, and invalidate all associated interfaces 
Sound Player Native Method
6 
3. 
Sound Player Android Activity 
Audio Engine and Buffuer be loaded when App create 
Use Spinner 
for Select Audio File
7 
3. 
Sound Player Android Activity 
Triggered onClick Event 
when playing state and Selected Different File, 
shutdown all of audio player and 
Create new Audio Engine and Buffer. 
Toggle player state.
8 
4. 
Sound Player Layout
9 
5. 
Run on Android SmartPhone
10

More Related Content

What's hot

iOS Game Development: When Cocoa Met Cocos...
iOS Game Development: When Cocoa Met Cocos...iOS Game Development: When Cocoa Met Cocos...
iOS Game Development: When Cocoa Met Cocos...Joseph Ku
 
Borderlands 2-save-location
Borderlands 2-save-locationBorderlands 2-save-location
Borderlands 2-save-location
ssuser1eca7d
 
Learning Kodu: Basic Video Game Design for Kids
Learning Kodu: Basic Video Game Design for KidsLearning Kodu: Basic Video Game Design for Kids
Learning Kodu: Basic Video Game Design for Kids
St. Petersburg College
 
Sound generating
Sound generatingSound generating
Sound generatingLewisB2013
 
Build Your Own Android Tablet
Build Your Own Android TabletBuild Your Own Android Tablet
Build Your Own Android Tablet
SGAndroidDevs
 
Spesifikasi laptop 2
Spesifikasi laptop 2Spesifikasi laptop 2
Spesifikasi laptop 2Adhi Susanto
 
Beagleboard xm-setup
Beagleboard xm-setupBeagleboard xm-setup
Beagleboard xm-setup
Premjith Achemveettil
 
10.1. Android Audio
10.1. Android Audio10.1. Android Audio
10.1. Android Audio
Oum Saokosal
 
Nick Tsagaris - How to play battlefield 2042 early?
Nick Tsagaris - How to play battlefield 2042 early?Nick Tsagaris - How to play battlefield 2042 early?
Nick Tsagaris - How to play battlefield 2042 early?
Nick Tsagaris
 
We breath oxygen
We breath oxygenWe breath oxygen
We breath oxygen
TeacherLuis0311
 
Game audio 2 - Retro Mystery Intro
Game audio 2 - Retro Mystery IntroGame audio 2 - Retro Mystery Intro
Game audio 2 - Retro Mystery IntroNathan_West
 
Console design template
Console design templateConsole design template
Console design templateLewisB2013
 
Ig1 task 2 analysis work sheet 3
Ig1 task 2 analysis work sheet 3Ig1 task 2 analysis work sheet 3
Ig1 task 2 analysis work sheet 3Luke Summers
 
Console comparsions
Console comparsionsConsole comparsions
Console comparsionscopelandadam
 
Girl Geek Dinners - Clojure 101
Girl Geek Dinners - Clojure 101Girl Geek Dinners - Clojure 101
Girl Geek Dinners - Clojure 101
Logan Campbell
 
Presupuesto pc 1500
Presupuesto pc 1500Presupuesto pc 1500
Presupuesto pc 1500
MariaMuoz284
 
Neo cd redux
Neo cd reduxNeo cd redux
Neo cd redux
darksspablo
 
Shall We Play A Game - BSides Cape Town 2018
Shall We Play A Game - BSides Cape Town 2018Shall We Play A Game - BSides Cape Town 2018
Shall We Play A Game - BSides Cape Town 2018
HypnZA
 

What's hot (20)

iOS Game Development: When Cocoa Met Cocos...
iOS Game Development: When Cocoa Met Cocos...iOS Game Development: When Cocoa Met Cocos...
iOS Game Development: When Cocoa Met Cocos...
 
Borderlands 2-save-location
Borderlands 2-save-locationBorderlands 2-save-location
Borderlands 2-save-location
 
Forza 5 analysis
Forza 5 analysisForza 5 analysis
Forza 5 analysis
 
Learning Kodu: Basic Video Game Design for Kids
Learning Kodu: Basic Video Game Design for KidsLearning Kodu: Basic Video Game Design for Kids
Learning Kodu: Basic Video Game Design for Kids
 
Sound generating
Sound generatingSound generating
Sound generating
 
Build Your Own Android Tablet
Build Your Own Android TabletBuild Your Own Android Tablet
Build Your Own Android Tablet
 
Spesifikasi laptop 2
Spesifikasi laptop 2Spesifikasi laptop 2
Spesifikasi laptop 2
 
Beagleboard xm-setup
Beagleboard xm-setupBeagleboard xm-setup
Beagleboard xm-setup
 
10.1. Android Audio
10.1. Android Audio10.1. Android Audio
10.1. Android Audio
 
Nick Tsagaris - How to play battlefield 2042 early?
Nick Tsagaris - How to play battlefield 2042 early?Nick Tsagaris - How to play battlefield 2042 early?
Nick Tsagaris - How to play battlefield 2042 early?
 
We breath oxygen
We breath oxygenWe breath oxygen
We breath oxygen
 
Dmc4 sound analysis
Dmc4 sound analysisDmc4 sound analysis
Dmc4 sound analysis
 
Game audio 2 - Retro Mystery Intro
Game audio 2 - Retro Mystery IntroGame audio 2 - Retro Mystery Intro
Game audio 2 - Retro Mystery Intro
 
Console design template
Console design templateConsole design template
Console design template
 
Ig1 task 2 analysis work sheet 3
Ig1 task 2 analysis work sheet 3Ig1 task 2 analysis work sheet 3
Ig1 task 2 analysis work sheet 3
 
Console comparsions
Console comparsionsConsole comparsions
Console comparsions
 
Girl Geek Dinners - Clojure 101
Girl Geek Dinners - Clojure 101Girl Geek Dinners - Clojure 101
Girl Geek Dinners - Clojure 101
 
Presupuesto pc 1500
Presupuesto pc 1500Presupuesto pc 1500
Presupuesto pc 1500
 
Neo cd redux
Neo cd reduxNeo cd redux
Neo cd redux
 
Shall We Play A Game - BSides Cape Town 2018
Shall We Play A Game - BSides Cape Town 2018Shall We Play A Game - BSides Cape Town 2018
Shall We Play A Game - BSides Cape Town 2018
 

Similar to 제 5회 DGMIT R&D 컨퍼런스: Sound Module With OperSLEs

Chapt 1 (part 2) installing the sdk and exploring the workspace
Chapt 1 (part 2)   installing the sdk and exploring the workspaceChapt 1 (part 2)   installing the sdk and exploring the workspace
Chapt 1 (part 2) installing the sdk and exploring the workspaceMuhd Basheer
 
Android Audio & OpenSL
Android Audio & OpenSLAndroid Audio & OpenSL
Android Audio & OpenSL
Yoss Cohen
 
Windows phone 7 xna
Windows phone 7 xnaWindows phone 7 xna
Windows phone 7 xnaGlen Gordon
 
The sounds of Android (Android Makers 2018)
The sounds of Android (Android Makers 2018)The sounds of Android (Android Makers 2018)
The sounds of Android (Android Makers 2018)
Yannick Lemin
 
Building Modern Audio Apps with AVAudioEngine
Building Modern Audio Apps with AVAudioEngineBuilding Modern Audio Apps with AVAudioEngine
Building Modern Audio Apps with AVAudioEngine
Bob McCune
 
Music Computing - StudioBLADE Gen 3 Manual Full
Music Computing - StudioBLADE Gen 3 Manual FullMusic Computing - StudioBLADE Gen 3 Manual Full
Music Computing - StudioBLADE Gen 3 Manual FullJames Edwin Rhone Jr
 
XNA and Windows Phone
XNA and Windows PhoneXNA and Windows Phone
XNA and Windows Phone
Glen Gordon
 
1.playing audio in javaJava sound API(package javax.sound) support.pdf
1.playing audio in javaJava sound API(package javax.sound) support.pdf1.playing audio in javaJava sound API(package javax.sound) support.pdf
1.playing audio in javaJava sound API(package javax.sound) support.pdf
info30292
 
Designing of media player
Designing of media playerDesigning of media player
Designing of media playerNur Islam
 
Unity
UnityUnity
Creating a serious game with the Unity 3D Game Engine and the importance of m...
Creating a serious game with the Unity 3D Game Engine and the importance of m...Creating a serious game with the Unity 3D Game Engine and the importance of m...
Creating a serious game with the Unity 3D Game Engine and the importance of m...
danielandlubo
 
Web Audio Made Easy with Howler.js
Web Audio Made Easy with Howler.jsWeb Audio Made Easy with Howler.js
Web Audio Made Easy with Howler.js
James Simpson
 
Exoplayer 2
Exoplayer  2Exoplayer  2
Exoplayer 2
TSE-JU LIN(Louis)
 
Android Multimedia Player Project Presentation
Android Multimedia Player Project PresentationAndroid Multimedia Player Project Presentation
Android Multimedia Player Project Presentation
Rashmi Gupta
 
Presentation final
Presentation finalPresentation final
Presentation final
Shuvra Debnath
 
MOSS 2016, Bucharest, Romania - Designing the IoT Jukebox with Brillo
MOSS 2016, Bucharest, Romania - Designing the IoT Jukebox with BrilloMOSS 2016, Bucharest, Romania - Designing the IoT Jukebox with Brillo
MOSS 2016, Bucharest, Romania - Designing the IoT Jukebox with BrilloConstantin Musca
 
Ig2 task 1 work sheet connor martin
Ig2 task 1 work sheet connor martinIg2 task 1 work sheet connor martin
Ig2 task 1 work sheet connor martinKalen612
 

Similar to 제 5회 DGMIT R&D 컨퍼런스: Sound Module With OperSLEs (20)

Chapt 1 (part 2) installing the sdk and exploring the workspace
Chapt 1 (part 2)   installing the sdk and exploring the workspaceChapt 1 (part 2)   installing the sdk and exploring the workspace
Chapt 1 (part 2) installing the sdk and exploring the workspace
 
JAVA Media Player
JAVA Media PlayerJAVA Media Player
JAVA Media Player
 
Android Audio & OpenSL
Android Audio & OpenSLAndroid Audio & OpenSL
Android Audio & OpenSL
 
Windows phone 7 xna
Windows phone 7 xnaWindows phone 7 xna
Windows phone 7 xna
 
The sounds of Android (Android Makers 2018)
The sounds of Android (Android Makers 2018)The sounds of Android (Android Makers 2018)
The sounds of Android (Android Makers 2018)
 
Building Modern Audio Apps with AVAudioEngine
Building Modern Audio Apps with AVAudioEngineBuilding Modern Audio Apps with AVAudioEngine
Building Modern Audio Apps with AVAudioEngine
 
Music Computing - StudioBLADE Gen 3 Manual Full
Music Computing - StudioBLADE Gen 3 Manual FullMusic Computing - StudioBLADE Gen 3 Manual Full
Music Computing - StudioBLADE Gen 3 Manual Full
 
XNA and Windows Phone
XNA and Windows PhoneXNA and Windows Phone
XNA and Windows Phone
 
1.playing audio in javaJava sound API(package javax.sound) support.pdf
1.playing audio in javaJava sound API(package javax.sound) support.pdf1.playing audio in javaJava sound API(package javax.sound) support.pdf
1.playing audio in javaJava sound API(package javax.sound) support.pdf
 
Designing of media player
Designing of media playerDesigning of media player
Designing of media player
 
Unity
UnityUnity
Unity
 
Android media
Android mediaAndroid media
Android media
 
Creating a serious game with the Unity 3D Game Engine and the importance of m...
Creating a serious game with the Unity 3D Game Engine and the importance of m...Creating a serious game with the Unity 3D Game Engine and the importance of m...
Creating a serious game with the Unity 3D Game Engine and the importance of m...
 
Web Audio Made Easy with Howler.js
Web Audio Made Easy with Howler.jsWeb Audio Made Easy with Howler.js
Web Audio Made Easy with Howler.js
 
Exoplayer 2
Exoplayer  2Exoplayer  2
Exoplayer 2
 
Android Multimedia Player Project Presentation
Android Multimedia Player Project PresentationAndroid Multimedia Player Project Presentation
Android Multimedia Player Project Presentation
 
Presentation final
Presentation finalPresentation final
Presentation final
 
IG2 Task 1
IG2 Task 1 IG2 Task 1
IG2 Task 1
 
MOSS 2016, Bucharest, Romania - Designing the IoT Jukebox with Brillo
MOSS 2016, Bucharest, Romania - Designing the IoT Jukebox with BrilloMOSS 2016, Bucharest, Romania - Designing the IoT Jukebox with Brillo
MOSS 2016, Bucharest, Romania - Designing the IoT Jukebox with Brillo
 
Ig2 task 1 work sheet connor martin
Ig2 task 1 work sheet connor martinIg2 task 1 work sheet connor martin
Ig2 task 1 work sheet connor martin
 

More from dgmit2009

제 6회 DGMIT UI&UX 컨퍼런스: 디자인 전문기업 성공 사례
 제 6회 DGMIT UI&UX 컨퍼런스: 디자인 전문기업 성공 사례 제 6회 DGMIT UI&UX 컨퍼런스: 디자인 전문기업 성공 사례
제 6회 DGMIT UI&UX 컨퍼런스: 디자인 전문기업 성공 사례
dgmit2009
 
제 6회 DGMIT UI&UX 컨퍼런스: 2014 웨어러블 디바이스 2
 제 6회 DGMIT UI&UX 컨퍼런스: 2014 웨어러블 디바이스 2 제 6회 DGMIT UI&UX 컨퍼런스: 2014 웨어러블 디바이스 2
제 6회 DGMIT UI&UX 컨퍼런스: 2014 웨어러블 디바이스 2
dgmit2009
 
제 6회 DGMIT UI&UX 컨퍼런스: 일러스트와 디자인
 제 6회 DGMIT UI&UX 컨퍼런스: 일러스트와 디자인 제 6회 DGMIT UI&UX 컨퍼런스: 일러스트와 디자인
제 6회 DGMIT UI&UX 컨퍼런스: 일러스트와 디자인
dgmit2009
 
제 6회 DGMIT R&D 컨퍼런스: The Clickjacking attackXFrameOptions
제 6회 DGMIT R&D 컨퍼런스: The Clickjacking attackXFrameOptions제 6회 DGMIT R&D 컨퍼런스: The Clickjacking attackXFrameOptions
제 6회 DGMIT R&D 컨퍼런스: The Clickjacking attackXFrameOptions
dgmit2009
 
제 5회 DGMIT R&D 컨퍼런스: 생성자 방식의 상속
제 5회 DGMIT R&D 컨퍼런스: 생성자 방식의 상속제 5회 DGMIT R&D 컨퍼런스: 생성자 방식의 상속
제 5회 DGMIT R&D 컨퍼런스: 생성자 방식의 상속
dgmit2009
 
제 5회 DGMIT R&D 컨퍼런스: NODE.JS란?
제 5회 DGMIT R&D 컨퍼런스: NODE.JS란?제 5회 DGMIT R&D 컨퍼런스: NODE.JS란?
제 5회 DGMIT R&D 컨퍼런스: NODE.JS란?
dgmit2009
 
제 5회 DGMIT R&D 컨퍼런스: Iframe
제 5회 DGMIT R&D 컨퍼런스: Iframe제 5회 DGMIT R&D 컨퍼런스: Iframe
제 5회 DGMIT R&D 컨퍼런스: Iframe
dgmit2009
 
제 5회 DGMIT R&D 컨퍼런스: Facebook 연동
 제 5회 DGMIT R&D 컨퍼런스: Facebook 연동 제 5회 DGMIT R&D 컨퍼런스: Facebook 연동
제 5회 DGMIT R&D 컨퍼런스: Facebook 연동
dgmit2009
 
제 5회 R&D 컨퍼런스 _양진희_20141125
제 5회 R&D 컨퍼런스 _양진희_20141125제 5회 R&D 컨퍼런스 _양진희_20141125
제 5회 R&D 컨퍼런스 _양진희_20141125
dgmit2009
 
제 5회 DGMIT R&D 컨퍼런스: JavsScript Event Bubbling & Capturing
제 5회 DGMIT R&D 컨퍼런스: JavsScript Event Bubbling & Capturing제 5회 DGMIT R&D 컨퍼런스: JavsScript Event Bubbling & Capturing
제 5회 DGMIT R&D 컨퍼런스: JavsScript Event Bubbling & Capturing
dgmit2009
 
제 5회 DGMIT R&D 컨퍼런스: HTML Graphics AP
 제 5회 DGMIT R&D 컨퍼런스: HTML Graphics AP 제 5회 DGMIT R&D 컨퍼런스: HTML Graphics AP
제 5회 DGMIT R&D 컨퍼런스: HTML Graphics AP
dgmit2009
 
제 5회 DGMIT UI&UX 컨퍼런스: 브랜드 디자인
제 5회 DGMIT UI&UX 컨퍼런스: 브랜드 디자인제 5회 DGMIT UI&UX 컨퍼런스: 브랜드 디자인
제 5회 DGMIT UI&UX 컨퍼런스: 브랜드 디자인
dgmit2009
 
제 5회 DGMIT UI&UX 컨퍼런스: 2015 웹디자인 트렌드
제 5회 DGMIT UI&UX 컨퍼런스: 2015 웹디자인 트렌드제 5회 DGMIT UI&UX 컨퍼런스: 2015 웹디자인 트렌드
제 5회 DGMIT UI&UX 컨퍼런스: 2015 웹디자인 트렌드
dgmit2009
 
제 5회 DGMIT UI&UX 컨퍼런스: 2014 웨어러블 디바이스
제 5회 DGMIT UI&UX 컨퍼런스: 2014 웨어러블 디바이스제 5회 DGMIT UI&UX 컨퍼런스: 2014 웨어러블 디바이스
제 5회 DGMIT UI&UX 컨퍼런스: 2014 웨어러블 디바이스
dgmit2009
 
제 5회 DGMIT UI&UX 컨퍼런스: 세계최초의 UX디자이너 Walt Disney
제 5회 DGMIT UI&UX 컨퍼런스: 세계최초의 UX디자이너 Walt Disney제 5회 DGMIT UI&UX 컨퍼런스: 세계최초의 UX디자이너 Walt Disney
제 5회 DGMIT UI&UX 컨퍼런스: 세계최초의 UX디자이너 Walt Disney
dgmit2009
 
제 4회 DGMIT R&D 컨퍼런스 : 컨퍼런스 개인 프로젝트 발표
제 4회 DGMIT R&D 컨퍼런스 : 컨퍼런스 개인 프로젝트 발표제 4회 DGMIT R&D 컨퍼런스 : 컨퍼런스 개인 프로젝트 발표
제 4회 DGMIT R&D 컨퍼런스 : 컨퍼런스 개인 프로젝트 발표
dgmit2009
 
제 4회 DGMIT R&D 컨퍼런스 : Making a JavaScript based Application in Mac OS X
제 4회 DGMIT R&D 컨퍼런스 : Making a JavaScript based Application in Mac OS X제 4회 DGMIT R&D 컨퍼런스 : Making a JavaScript based Application in Mac OS X
제 4회 DGMIT R&D 컨퍼런스 : Making a JavaScript based Application in Mac OS X
dgmit2009
 
제 4회 DGMIT R&D 컨퍼런스 : REST API - 리소스 지향적 아키텍처
제 4회 DGMIT R&D 컨퍼런스 : REST API - 리소스 지향적 아키텍처제 4회 DGMIT R&D 컨퍼런스 : REST API - 리소스 지향적 아키텍처
제 4회 DGMIT R&D 컨퍼런스 : REST API - 리소스 지향적 아키텍처
dgmit2009
 
제 4회 DGMIT R&D 컨퍼런스 : IIFE와 QA공통항목
제 4회 DGMIT R&D 컨퍼런스 : IIFE와 QA공통항목제 4회 DGMIT R&D 컨퍼런스 : IIFE와 QA공통항목
제 4회 DGMIT R&D 컨퍼런스 : IIFE와 QA공통항목
dgmit2009
 
제 4회 DGMIT R&D 컨퍼런스 : Android NDK
제 4회 DGMIT R&D 컨퍼런스 : Android NDK제 4회 DGMIT R&D 컨퍼런스 : Android NDK
제 4회 DGMIT R&D 컨퍼런스 : Android NDK
dgmit2009
 

More from dgmit2009 (20)

제 6회 DGMIT UI&UX 컨퍼런스: 디자인 전문기업 성공 사례
 제 6회 DGMIT UI&UX 컨퍼런스: 디자인 전문기업 성공 사례 제 6회 DGMIT UI&UX 컨퍼런스: 디자인 전문기업 성공 사례
제 6회 DGMIT UI&UX 컨퍼런스: 디자인 전문기업 성공 사례
 
제 6회 DGMIT UI&UX 컨퍼런스: 2014 웨어러블 디바이스 2
 제 6회 DGMIT UI&UX 컨퍼런스: 2014 웨어러블 디바이스 2 제 6회 DGMIT UI&UX 컨퍼런스: 2014 웨어러블 디바이스 2
제 6회 DGMIT UI&UX 컨퍼런스: 2014 웨어러블 디바이스 2
 
제 6회 DGMIT UI&UX 컨퍼런스: 일러스트와 디자인
 제 6회 DGMIT UI&UX 컨퍼런스: 일러스트와 디자인 제 6회 DGMIT UI&UX 컨퍼런스: 일러스트와 디자인
제 6회 DGMIT UI&UX 컨퍼런스: 일러스트와 디자인
 
제 6회 DGMIT R&D 컨퍼런스: The Clickjacking attackXFrameOptions
제 6회 DGMIT R&D 컨퍼런스: The Clickjacking attackXFrameOptions제 6회 DGMIT R&D 컨퍼런스: The Clickjacking attackXFrameOptions
제 6회 DGMIT R&D 컨퍼런스: The Clickjacking attackXFrameOptions
 
제 5회 DGMIT R&D 컨퍼런스: 생성자 방식의 상속
제 5회 DGMIT R&D 컨퍼런스: 생성자 방식의 상속제 5회 DGMIT R&D 컨퍼런스: 생성자 방식의 상속
제 5회 DGMIT R&D 컨퍼런스: 생성자 방식의 상속
 
제 5회 DGMIT R&D 컨퍼런스: NODE.JS란?
제 5회 DGMIT R&D 컨퍼런스: NODE.JS란?제 5회 DGMIT R&D 컨퍼런스: NODE.JS란?
제 5회 DGMIT R&D 컨퍼런스: NODE.JS란?
 
제 5회 DGMIT R&D 컨퍼런스: Iframe
제 5회 DGMIT R&D 컨퍼런스: Iframe제 5회 DGMIT R&D 컨퍼런스: Iframe
제 5회 DGMIT R&D 컨퍼런스: Iframe
 
제 5회 DGMIT R&D 컨퍼런스: Facebook 연동
 제 5회 DGMIT R&D 컨퍼런스: Facebook 연동 제 5회 DGMIT R&D 컨퍼런스: Facebook 연동
제 5회 DGMIT R&D 컨퍼런스: Facebook 연동
 
제 5회 R&D 컨퍼런스 _양진희_20141125
제 5회 R&D 컨퍼런스 _양진희_20141125제 5회 R&D 컨퍼런스 _양진희_20141125
제 5회 R&D 컨퍼런스 _양진희_20141125
 
제 5회 DGMIT R&D 컨퍼런스: JavsScript Event Bubbling & Capturing
제 5회 DGMIT R&D 컨퍼런스: JavsScript Event Bubbling & Capturing제 5회 DGMIT R&D 컨퍼런스: JavsScript Event Bubbling & Capturing
제 5회 DGMIT R&D 컨퍼런스: JavsScript Event Bubbling & Capturing
 
제 5회 DGMIT R&D 컨퍼런스: HTML Graphics AP
 제 5회 DGMIT R&D 컨퍼런스: HTML Graphics AP 제 5회 DGMIT R&D 컨퍼런스: HTML Graphics AP
제 5회 DGMIT R&D 컨퍼런스: HTML Graphics AP
 
제 5회 DGMIT UI&UX 컨퍼런스: 브랜드 디자인
제 5회 DGMIT UI&UX 컨퍼런스: 브랜드 디자인제 5회 DGMIT UI&UX 컨퍼런스: 브랜드 디자인
제 5회 DGMIT UI&UX 컨퍼런스: 브랜드 디자인
 
제 5회 DGMIT UI&UX 컨퍼런스: 2015 웹디자인 트렌드
제 5회 DGMIT UI&UX 컨퍼런스: 2015 웹디자인 트렌드제 5회 DGMIT UI&UX 컨퍼런스: 2015 웹디자인 트렌드
제 5회 DGMIT UI&UX 컨퍼런스: 2015 웹디자인 트렌드
 
제 5회 DGMIT UI&UX 컨퍼런스: 2014 웨어러블 디바이스
제 5회 DGMIT UI&UX 컨퍼런스: 2014 웨어러블 디바이스제 5회 DGMIT UI&UX 컨퍼런스: 2014 웨어러블 디바이스
제 5회 DGMIT UI&UX 컨퍼런스: 2014 웨어러블 디바이스
 
제 5회 DGMIT UI&UX 컨퍼런스: 세계최초의 UX디자이너 Walt Disney
제 5회 DGMIT UI&UX 컨퍼런스: 세계최초의 UX디자이너 Walt Disney제 5회 DGMIT UI&UX 컨퍼런스: 세계최초의 UX디자이너 Walt Disney
제 5회 DGMIT UI&UX 컨퍼런스: 세계최초의 UX디자이너 Walt Disney
 
제 4회 DGMIT R&D 컨퍼런스 : 컨퍼런스 개인 프로젝트 발표
제 4회 DGMIT R&D 컨퍼런스 : 컨퍼런스 개인 프로젝트 발표제 4회 DGMIT R&D 컨퍼런스 : 컨퍼런스 개인 프로젝트 발표
제 4회 DGMIT R&D 컨퍼런스 : 컨퍼런스 개인 프로젝트 발표
 
제 4회 DGMIT R&D 컨퍼런스 : Making a JavaScript based Application in Mac OS X
제 4회 DGMIT R&D 컨퍼런스 : Making a JavaScript based Application in Mac OS X제 4회 DGMIT R&D 컨퍼런스 : Making a JavaScript based Application in Mac OS X
제 4회 DGMIT R&D 컨퍼런스 : Making a JavaScript based Application in Mac OS X
 
제 4회 DGMIT R&D 컨퍼런스 : REST API - 리소스 지향적 아키텍처
제 4회 DGMIT R&D 컨퍼런스 : REST API - 리소스 지향적 아키텍처제 4회 DGMIT R&D 컨퍼런스 : REST API - 리소스 지향적 아키텍처
제 4회 DGMIT R&D 컨퍼런스 : REST API - 리소스 지향적 아키텍처
 
제 4회 DGMIT R&D 컨퍼런스 : IIFE와 QA공통항목
제 4회 DGMIT R&D 컨퍼런스 : IIFE와 QA공통항목제 4회 DGMIT R&D 컨퍼런스 : IIFE와 QA공통항목
제 4회 DGMIT R&D 컨퍼런스 : IIFE와 QA공통항목
 
제 4회 DGMIT R&D 컨퍼런스 : Android NDK
제 4회 DGMIT R&D 컨퍼런스 : Android NDK제 4회 DGMIT R&D 컨퍼런스 : Android NDK
제 4회 DGMIT R&D 컨퍼런스 : Android NDK
 

Recently uploaded

UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 

Recently uploaded (20)

UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 

제 5회 DGMIT R&D 컨퍼런스: Sound Module With OperSLEs

  • 1. Sound Module with OpenSL ES 2014. 11. 24 Version : 1.0.0 made by 최대우 R&D
  • 2. 2 CONTENTS. 1. OpenSL ES란? …………………………………….. 3 2. Sound Player Native Method .……………………. 4 a) createEngine …….………………………. 4 b) createBufferQueueAudioPlayer ……...... 4 c) createAssetAudioPlayer ……….……….. 5 d) setPlayingAssetAudioPlayer ….………... 5 e) shutdown ……………………………………… 5 3. Sound Player Android Activity .……………………. 6 4. Sound Player Layout ……………....…….………… 8 5. Run on Android SmartPhone ..…………………….. 9
  • 3. 3 1. OpenSL ES란 ? 알고 보자 OpenSL ES ! Audio File 재생 및 녹음 기능 Audio Effect 기능 MIDI (Musical Instrument Digital Interface) 파일 재생 기능
  • 4. 4 2. Sound Player Native Method a)void createEngine(JNIEnv*, jclass) - create engine - realize the engine - get the engine interface, which is needed in order to create other objects - create output mix, with environmental reverb specified as a non-required interface - realize the output mix b) void createBufferQueueAudioPlayer(JNIEnv*, jclass) - configure audio source - configure audio sink - create audio player - realize the player - get the play interface - get the buffer queue interface - register callback on the buffer queue - get the effect send interface - get the volume interface - set the player's state to playing
  • 5. 5 2. c) jboolean createAssetAudioPlayer(JNIEnv*, jclass, jobject, jstring, filename) - use asset manager to open asset by filename - open asset as file descriptor - create audio player - realize the output mix, realize the player - get the play, seek, mute, volume interface - enable whole file looping d) void setPlayingAssetAudioPlayer(JNIEnv*, jclass, jboolean) - set play mode e) shutdown() - destroy all of audio player object, and invalidate all associated interfaces Sound Player Native Method
  • 6. 6 3. Sound Player Android Activity Audio Engine and Buffuer be loaded when App create Use Spinner for Select Audio File
  • 7. 7 3. Sound Player Android Activity Triggered onClick Event when playing state and Selected Different File, shutdown all of audio player and Create new Audio Engine and Buffer. Toggle player state.
  • 8. 8 4. Sound Player Layout
  • 9. 9 5. Run on Android SmartPhone
  • 10. 10