Coder Social home page Coder Social logo

piasy / audiomixer Goto Github PK

View Code? Open in Web Editor NEW
186.0 186.0 70.0 86.83 MB

A cross-platform audio mixer, supports Android, iOS, macOS and Windows. Powered by WebRTC, FFmpeg and Djinni.

License: MIT License

CMake 0.01% Java 0.30% C++ 76.90% Objective-C 3.02% Objective-C++ 0.29% C 19.47% Shell 0.01%

audiomixer's People

Contributors

eritpchy avatar piasy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

audiomixer's Issues

Android: Issue with multiple MixerSource.TYPE_RECORD sources recording

Hello Team,
I am getting issue in case of two recording sources: The voice is not clear

mixer= new AudioMixer(new MixerConfig(
new ArrayList<>(Arrays.asList(
new MixerSource(MixerSource.TYPE_RECORD, 1, 1, outputFile, sampleRate,
channelCount),
new MixerSource(MixerSource.TYPE_RECORD, 2, 1, outputFile, sampleRate,
channelCount)
)),
sampleRate, channelCount, 10
));

And writing buffer like

try {
byte[] data = audioSamples.getData();
mixer.addRecordedData(ssrc, data, data.length);
AudioBuffer buffer = mixer.mix();
if (buffer.getSize() > 0) {
mixerDump.write(buffer.getBuffer(), 0, buffer.getSize());
}
} catch (Exception e) {
e.printStackTrace();
}

Publish new version

There has been some updates like adding multiple source which has not yet been released. Please when will this be released?

Missing files

Missing files in Android project, MixerSource.java, AudioMixerApi.java, MixerConfig.java. Can you complete it? Also is it possible to provide a sample program. Now I want to use this library, but now it's hard to just watch readme

Potential secutiry vulnerabilities in the shared libraries which AudioMixer depends on.

Hi, @Piasy , @eritpchy , I'd like to report a vulnerability issue in com.github.piasy:AudioMixer:1.0.3.

Issue Description

com.github.piasy:AudioMixer:1.0.3 directly or transitively depends on 8 C libraries (.so) cross many platforms(such as x86-64, x86, arm64, armhf). However, I noticed that one C libraries is vulnerable, containing the following CVEs:

libaudio_mixer.so from C project ffmpeg(version:3.4.2) exposed 8 vulnerabilities:
CVE-2018-1999012, CVE-2018-1999010, CVE-2018-1999015, CVE-2018-1999014, CVE-2018-14394, CVE-2018-1999011, CVE-2018-1999013, CVE-2018-15822

Suggested Vulnerability Patch Versions

FFmpeg has fixed the vulnerabilities in versions >=4.4.1

Java build tools cannot report vulnerable C libraries, which may induce potential security issues to many downstream Java projects.
Could you please upgrade the above shared libraries to their patch versions?

Thanks for your help~
Best regards,
Helen Parr

编译不通过

ld: warning: directory not found for option '-L/Users/huawei/Downloads/AudioMixer-master/ios_project/../libs/webrtc/lib/iOS'
ld: warning: directory not found for option '-L/Users/huawei/Downloads/AudioMixer-master/ios_project/../libs/ffmpeg/lib/iOS'
ld: library not found for -lwebrtc
clang: error: linker command failed with exit code 1 (use -v to see invocation)

你好我编译iOS的编译通不过 请问这个缺的lwbrtc 是需要我自己编译吗?那么请问是从哪里获取编译

can not compile after update djinni

  • (PYAAudioBuffer*)mix {
    audio_mixer::AudioMixer* nativeMixer =
    (audio_mixer::AudioMixer*)[_nativeMixer nativeMixer];
    if (nativeMixer) {
    _buffer.size = nativeMixer->Mix(_buffer.data);
    }

    return _buffer;
    }

  • (PYAAudioBuffer*)addRecordedDataAndMix:(void*)data size:(int32_t)size {
    audio_mixer::AudioMixer* nativeMixer =
    (audio_mixer::AudioMixer*)[_nativeMixer nativeMixer];
    if (nativeMixer) {
    _buffer.size =
    nativeMixer->AddRecordedDataAndMix(data, size, _buffer.data);
    }

    return _buffer;
    }

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.