类android.media.midi.MidiReceiver源码实例Demo

下面列出了怎么用android.media.midi.MidiReceiver的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: 365browser   文件: MidiInputPortAndroid.java
/**
 * Registers this object to the underlying port so as to the C++ function will be called with
 * the given C++ object when data arrives.
 * @param nativeReceiverPointer a pointer to a midi::MidiInputPortAndroid object.
 * @return true if this operation succeeds or the port is already open.
 */
@CalledByNative
boolean open(long nativeReceiverPointer) {
    if (mPort != null) {
        return true;
    }
    mPort = mDevice.openOutputPort(mIndex);
    if (mPort == null) {
        return false;
    }
    mNativeReceiverPointer = nativeReceiverPointer;
    mPort.connect(new MidiReceiver() {
        @Override
        public void onSend(byte[] bs, int offset, int count, long timestamp) {
            nativeOnData(mNativeReceiverPointer, bs, offset, count, timestamp);
        }
    });
    return true;
}
 
源代码2 项目: media-samples   文件: MidiDispatcher.java
@Override
public void onSend(byte[] msg, int offset, int count, long timestamp) throws IOException {
   for (MidiReceiver receiver : mReceivers) {
        try {
            receiver.send(msg, offset, count, timestamp);
        } catch (IOException e) {
            // if the receiver fails we remove the receiver but do not propagate the exception
            mReceivers.remove(receiver);
        }
    }
}
 
源代码3 项目: media-samples   文件: MidiDispatcher.java
@Override
public void onSend(byte[] msg, int offset, int count, long timestamp) throws IOException {
   for (MidiReceiver receiver : mReceivers) {
        try {
            receiver.send(msg, offset, count, timestamp);
        } catch (IOException e) {
            // if the receiver fails we remove the receiver but do not propagate the exception
            mReceivers.remove(receiver);
        }
    }
}
 
源代码4 项目: android-MidiSynth   文件: MidiDispatcher.java
@Override
public void onSend(byte[] msg, int offset, int count, long timestamp) throws IOException {
   for (MidiReceiver receiver : mReceivers) {
        try {
            receiver.send(msg, offset, count, timestamp);
        } catch (IOException e) {
            // if the receiver fails we remove the receiver but do not propagate the exception
            mReceivers.remove(receiver);
        }
    }
}
 
源代码5 项目: android-MidiScope   文件: MidiDispatcher.java
@Override
public void onSend(byte[] msg, int offset, int count, long timestamp) throws IOException {
   for (MidiReceiver receiver : mReceivers) {
        try {
            receiver.send(msg, offset, count, timestamp);
        } catch (IOException e) {
            // if the receiver fails we remove the receiver but do not propagate the exception
            mReceivers.remove(receiver);
        }
    }
}
 
源代码6 项目: android-midisuite   文件: MainActivity.java
private void midiSend(byte[] buffer, int count, long timestamp) {
    if (mKeyboardReceiverSelector != null) {
        try {
            // send event immediately
            MidiReceiver receiver = mKeyboardReceiverSelector.getReceiver();
            if (receiver != null) {
                receiver.send(buffer, 0, count, timestamp);
            }
        } catch (IOException e) {
            Log.e(TAG, "mKeyboardReceiverSelector.send() failed " + e);
        }
    }
}
 
源代码7 项目: android-midisuite   文件: MidiDispatcher.java
@Override
public void onSend(byte[] msg, int offset, int count, long timestamp) throws IOException {
   for (MidiReceiver receiver : mReceivers) {
        try {
            receiver.send(msg, offset, count, timestamp);
        } catch (IOException e) {
            // if the receiver fails we remove the receiver but do not propagate the exception
            mReceivers.remove(receiver);
        }
    }
}
 
源代码8 项目: media-samples   文件: MidiScope.java
@Override
public MidiReceiver[] onGetInputPortReceivers() {
    return new MidiReceiver[] { mInputReceiver };
}
 
源代码9 项目: media-samples   文件: MainActivity.java
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    setSupportActionBar((Toolbar) findViewById(R.id.toolbar));
    ActionBar actionBar = getSupportActionBar();
    if (actionBar != null) {
        actionBar.setDisplayShowTitleEnabled(false);
    }

    mLog = (TextView) findViewById(R.id.log);
    mScroller = (ScrollView) findViewById(R.id.scroll);

    // Setup MIDI
    MidiManager midiManager = (MidiManager) getSystemService(MIDI_SERVICE);

    // Receiver that prints the messages.
    MidiReceiver loggingReceiver = new LoggingReceiver(this);

    // Receiver that parses raw data into complete messages.
    MidiFramer connectFramer = new MidiFramer(loggingReceiver);

    // Setup a menu to select an input source.
    mLogSenderSelector = new MidiOutputPortSelector(midiManager, this, R.id.spinner_senders) {
        @Override
        public void onPortSelected(final MidiPortWrapper wrapper) {
            super.onPortSelected(wrapper);
            if (wrapper != null) {
                mLogLines.clear();
                MidiDeviceInfo deviceInfo = wrapper.getDeviceInfo();
                if (deviceInfo == null) {
                    log(getString(R.string.header_text));
                } else {
                    log(MidiPrinter.formatDeviceInfo(deviceInfo));
                }
            }
        }
    };
    mLogSenderSelector.getSender().connect(connectFramer);

    // Tell the virtual device to log its messages here..
    MidiScope.setScopeLogger(this);
}
 
源代码10 项目: media-samples   文件: MidiInputPortSelector.java
public MidiReceiver getReceiver() {
    return mInputPort;
}
 
源代码11 项目: media-samples   文件: MidiDispatcher.java
@Override
public void flush() throws IOException {
   for (MidiReceiver receiver : mReceivers) {
        receiver.flush();
   }
}
 
源代码12 项目: media-samples   文件: MidiFramer.java
public MidiFramer(MidiReceiver receiver) {
    mReceiver = receiver;
}
 
源代码13 项目: media-samples   文件: MidiSynthDeviceService.java
@Override
public MidiReceiver[] onGetInputPortReceivers() {
    return new MidiReceiver[]{mSynthEngine};
}
 
源代码14 项目: media-samples   文件: MidiInputPortSelector.java
public MidiReceiver getReceiver() {
    return mInputPort;
}
 
源代码15 项目: media-samples   文件: MidiDispatcher.java
@Override
public void flush() throws IOException {
   for (MidiReceiver receiver : mReceivers) {
        receiver.flush();
   }
}
 
源代码16 项目: media-samples   文件: MidiFramer.java
public MidiFramer(MidiReceiver receiver) {
    mReceiver = receiver;
}
 
源代码17 项目: android-MidiSynth   文件: MidiSynthDeviceService.java
@Override
public MidiReceiver[] onGetInputPortReceivers() {
    return new MidiReceiver[]{mSynthEngine};
}
 
源代码18 项目: android-MidiSynth   文件: MidiInputPortSelector.java
public MidiReceiver getReceiver() {
    return mInputPort;
}
 
源代码19 项目: android-MidiSynth   文件: MidiDispatcher.java
@Override
public void flush() throws IOException {
   for (MidiReceiver receiver : mReceivers) {
        receiver.flush();
   }
}
 
源代码20 项目: android-MidiSynth   文件: MidiFramer.java
public MidiFramer(MidiReceiver receiver) {
    mReceiver = receiver;
}
 
源代码21 项目: android-MidiScope   文件: MidiScope.java
@Override
public MidiReceiver[] onGetInputPortReceivers() {
    return new MidiReceiver[] { mInputReceiver };
}
 
源代码22 项目: android-MidiScope   文件: MainActivity.java
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    setSupportActionBar((Toolbar) findViewById(R.id.toolbar));
    ActionBar actionBar = getSupportActionBar();
    if (actionBar != null) {
        actionBar.setDisplayShowTitleEnabled(false);
    }

    mLog = (TextView) findViewById(R.id.log);
    mScroller = (ScrollView) findViewById(R.id.scroll);

    // Setup MIDI
    MidiManager midiManager = (MidiManager) getSystemService(MIDI_SERVICE);

    // Receiver that prints the messages.
    MidiReceiver loggingReceiver = new LoggingReceiver(this);

    // Receiver that parses raw data into complete messages.
    MidiFramer connectFramer = new MidiFramer(loggingReceiver);

    // Setup a menu to select an input source.
    mLogSenderSelector = new MidiOutputPortSelector(midiManager, this, R.id.spinner_senders) {
        @Override
        public void onPortSelected(final MidiPortWrapper wrapper) {
            super.onPortSelected(wrapper);
            if (wrapper != null) {
                mLogLines.clear();
                MidiDeviceInfo deviceInfo = wrapper.getDeviceInfo();
                if (deviceInfo == null) {
                    log(getString(R.string.header_text));
                } else {
                    log(MidiPrinter.formatDeviceInfo(deviceInfo));
                }
            }
        }
    };
    mLogSenderSelector.getSender().connect(connectFramer);

    // Tell the virtual device to log its messages here..
    MidiScope.setScopeLogger(this);
}
 
源代码23 项目: android-MidiScope   文件: MidiInputPortSelector.java
public MidiReceiver getReceiver() {
    return mInputPort;
}
 
源代码24 项目: android-MidiScope   文件: MidiDispatcher.java
@Override
public void flush() throws IOException {
   for (MidiReceiver receiver : mReceivers) {
        receiver.flush();
   }
}
 
源代码25 项目: android-MidiScope   文件: MidiFramer.java
public MidiFramer(MidiReceiver receiver) {
    mReceiver = receiver;
}
 
源代码26 项目: android-midisuite   文件: MidiScope.java
@Override
public MidiReceiver[] onGetInputPortReceivers() {
    return new MidiReceiver[] { mInputReceiver };
}
 
源代码27 项目: android-midisuite   文件: MidiSynthDeviceService.java
@Override
public MidiReceiver[] onGetInputPortReceivers() {
    return new MidiReceiver[] { mSynthEngine };
}
 
源代码28 项目: android-midisuite   文件: MidiInputPortSelector.java
public MidiReceiver getReceiver() {
    return mInputPort;
}
 
源代码29 项目: android-midisuite   文件: MidiDispatcher.java
@Override
public void flush() throws IOException {
   for (MidiReceiver receiver : mReceivers) {
        receiver.flush();
   }
}
 
源代码30 项目: android-midisuite   文件: MidiFramer.java
public MidiFramer(MidiReceiver receiver) {
    mReceiver = receiver;
}
 
 类所在包
 类方法
 同包方法